[llvm-commits] [llvm] r170024 - /llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp

NAKAMURA Takumi geek4civic at gmail.com
Thu Dec 13 17:12:42 PST 2012


Michael, I tried your patch. It passes selfhosting (for me).

http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/280

...Takumi

2012/12/14 Michael Ilseman <milseman at apple.com>:
> Attached is a patch to correctly call the optimization.  Included are a test case to help prevent this and a test case to test the optimization itself.
>
>
>
>
> On Dec 13, 2012, at 6:27 AM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
>
>> Thanks, Eric!
>>
>> Michael, I am sorry I mistook wording. :(
>>
>> ...Takumi
>>
>> 2012/12/13 Eric Christopher <echristo at gmail.com>:
>>> I've gone ahead and reverted it here temporarily:
>>>
>>>        M       lib/Transforms/InstCombine/InstCombineAddSub.cpp
>>> Committed r170106
>>>
>>> To get some of the bots back since it's been a while.
>>>
>>> Hopefully the PR will help Michael with a testcase.
>>>
>>> Thanks all.
>>>
>>> -eric
>>>
>>>
>>> On Wed, Dec 12, 2012 at 8:51 PM, Will Dietz <w at wdtz.org> wrote:
>>>>
>>>> Ah, wish I saw this thread earlier today :).
>>>>
>>>> Please see: http://llvm.org/bugs/show_bug.cgi?id=14592 .
>>>>
>>>> Note that while it does break selfhosting for me, it also breaks
>>>> llvm/clang when built with gcc (4.4.6).
>>>>
>>>> Reverting this commit locally un-breaks my build.
>>>>
>>>> ~Will
>>>>
>>>> On Wed, Dec 12, 2012 at 7:12 PM, Michael Ilseman <milseman at apple.com>
>>>> wrote:
>>>>>
>>>>> On Dec 12, 2012, at 5:02 PM, NAKAMURA Takumi <geek4civic at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Michael, it broke self hosting.
>>>>>>
>>>>>
>>>>> Do you mean this commit broke it, or that my prior commit broke it and
>>>>> this fixed it?
>>>>>
>>>>>> ...Takumi
>>>>>>
>>>>>> 2012/12/13 Michael Ilseman <milseman at apple.com>:
>>>>>>> Author: milseman
>>>>>>> Date: Wed Dec 12 14:59:36 2012
>>>>>>> New Revision: 170024
>>>>>>>
>>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=170024&view=rev
>>>>>>> Log:
>>>>>>> Restore the PHI optimization I accidently removed
>>>>>>>
>>>>>>> Modified:
>>>>>>>   llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
>>>>>>>
>>>>>>> Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
>>>>>>> URL:
>>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp?rev=170024&r1=170023&r2=170024&view=diff
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
>>>>>>> (original)
>>>>>>> +++ llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp Wed
>>>>>>> Dec 12 14:59:36 2012
>>>>>>> @@ -354,6 +354,10 @@
>>>>>>>  if (Value *V = SimplifyFAddInst(LHS, RHS, I.getFastMathFlags(), TD))
>>>>>>>    return ReplaceInstUsesWith(I, V);
>>>>>>>
>>>>>>> +  if (isa<PHINode>(LHS))
>>>>>>> +    if (Instruction *NV = FoldOpIntoPhi(I))
>>>>>>> +      return NV;
>>>>>>> +
>>>>>>>  // -A + B  -->  B - A
>>>>>>>  // -A + -B  -->  -(A + B)
>>>>>>>  if (Value *LHSV = dyn_castFNegVal(LHS))
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> llvm-commits mailing list
>>>>>>> llvm-commits at cs.uiuc.edu
>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>
>
>



More information about the llvm-commits mailing list