diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-03-10 17:56:03 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-03-10 17:56:03 +0000 |
commit | 0624d2a1ecc2c0e3b17076cde1ed9781700d8c72 (patch) | |
tree | b422b0c2a2fd9fb33ef88695b6f13b85a4e36b1c /libcxx/src | |
parent | b52221e941474cdb9fe25808e1936601342ba6fc (diff) | |
download | bcm5719-llvm-0624d2a1ecc2c0e3b17076cde1ed9781700d8c72.tar.gz bcm5719-llvm-0624d2a1ecc2c0e3b17076cde1ed9781700d8c72.zip |
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'.
llvm-svn: 152497
Diffstat (limited to 'libcxx/src')
0 files changed, 0 insertions, 0 deletions