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

Nick Lewycky nicholas at mxc.ca
Sat Mar 10 11:10:56 PST 2012


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 ...

Nick



More information about the llvm-commits mailing list