[llvm-commits] [llvm] r152497 - in /llvm/trunk: lib/Analysis/InstructionSimplify.cpp test/Transforms/InstCombine/2012-03-10-InstCombine.ll
nicholas at mxc.ca
Sat Mar 10 13:10:56 CST 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
> 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 ...
More information about the llvm-commits