[llvm-commits] [llvm] r152497 - in /llvm/trunk: lib/Analysis/InstructionSimplify.cpp test/Transforms/InstCombine/2012-03-10-InstCombine.ll

Bill Wendling isanbard at gmail.com
Sat Mar 10 12:33:08 PST 2012


On Mar 10, 2012, at 1:10 PM, Nick Lewycky <nicholas at mxc.ca> wrote:

> Bill Wendling wrote:
>> Author: void
>> Date: Sat Mar 10 11:56:03 2012
>> New Revision: 152497
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=152497&view=rev
>> Log:
>> Make this transformation slightly less agressive and more correct.
>> 
>> The 'CmpInst::isFalseWhenEqual' function returns 'false' for values other than
>> simply equality. For instance, it returns 'false' for<= or>=. This isn't the
>> correct behavior for this transformation, which is checking for strict equality
>> and non-equality. It was causing the gcc.c-torture/execute/frame-address.c test
>> to fail because it would completely (and incorrectly) optimize a whole function
>> into a 'ret i32 0'.
> 
> Thanks Bill! Sorry for making you clean this up. There are similar problems elsewhere in LLVM and I was planning to do an audit ... eventually ...
> 
No worries. :-) I just noticed a test case that was failing. 

-bw



More information about the llvm-commits mailing list