BTW, sorry for procrastinated for so long, I know I owe someone a
review, just couldn't remember who.
Sun

On Tue, Jul 12, 2011 at 8:44 PM, Sun Chan <sun.c...@gmail.com> wrote:
> I am ok with the changes, except you have not address my original
> question, cand/cior is originally designed to allow CSE of such
> expressions, with your new changes, you gain some, but loose some
> also. How do you allow better heuristics to do one or the other
> Sun
>
> On Tue, Jul 12, 2011 at 8:38 AM, David Coakley <dcoak...@gmail.com> wrote:
>> I don't see a problem with that.  I also put the related function
>> wn_is_assign_return in wn.cxx.
>>
>> A revised patch is attached.
>>
>> On Mon, Jul 11, 2011 at 3:11 PM, Ye, Mei <mei...@amd.com> wrote:
>>> Can "wn_is_assign" placed in common/com/wn.cxx?
>>>
>>> -Mei
>>>
>>> -----Original Message-----
>>> From: David Coakley [mailto:dcoak...@gmail.com]
>>> Sent: Monday, July 11, 2011 11:43 AM
>>> To: open64-devel; Sun Chan
>>> Subject: Re: [Open64-devel] revised patch to enable more if-conversion
>>>
>>> I did not receive any feedback on this patch.  Did anyone get a chance to 
>>> review it?
>>>
>>> On Tue, Jun 21, 2011 at 2:25 PM, David Coakley <dcoak...@gmail.com> wrote:
>>>> The attached patch is a minor revision to a patch that I posted a few
>>>> weeks ago.  The code in lower_if() was modified to make it more clear
>>>> when the transformation is applied:
>>>>
>>>>  if (Action(LOWER_SHORTCIRCUIT) &&
>>>>      OPT_Lower_Splitsinglecand && WOPT_Enable_Simple_If_Conv >= 1)
>>>>  {
>>>>    lower_split_single_cand(tree, actions);
>>>>  }
>>>>
>>>> I have added more detail to the description in an attempt to address
>>>> some questions raised by the earlier patch:
>>>>
>>>> Convert:
>>>> if (a && b)
>>>>  x = ...
>>>> To:
>>>> if (a)
>>>>  if (b)
>>>>    x = ...
>>>> To enable more if-conversion.
>>>>
>>>> Without this transformation, WHIRL-lowering creates control flow that
>>>> WOPT-if-conversion can't handle.  With this transformation, this now
>>>> looks like any other if-conversion opportunity to WOPT.
>>>> So this transformation enables more if-conversion (i.e. replace branch
>>>> with conditional move).
>>>>
>>>> The transformation is enabled when the internal flag
>>>> OPT_Lower_Splitsinglecand is on (the default) and when if-conversion
>>>> is enabled in WOPT.  It is applied when the action flag
>>>> LOWER_SHORTCIRCUIT is set (mainopt phase).
>>>>
>>>> As part of the transformation, all profile info is updated to be
>>>> consistent: in-edge weights equal out-edge weights, all new edges have
>>>> weights, overall incoming/outgoing frequency to the original node does
>>>> not change, and the frequency of "if a && b"
>>>> is true is equal to the frequency of "if a/if b" is true.
>>>>
>>>>
>>>> Sun and others, please let me know if it looks ok.
>>>>
>>>> -David Coakley / AMD Open Source Compiler Engineering
>>>>
>>>
>>>
>>
>

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to