diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-09-20 07:31:25 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-09-20 07:31:25 +0000 |
commit | 149cbc2a2418e506c71abe7759c9c81eea68976b (patch) | |
tree | 345b1810b674b10357557c479b166a520f62c28c /lib/Target/README.txt | |
parent | b3c8547cb881edd84c2a052938dfb9d5d300a7ac (diff) | |
download | llvm-149cbc2a2418e506c71abe7759c9c81eea68976b.tar.gz llvm-149cbc2a2418e506c71abe7759c9c81eea68976b.tar.bz2 llvm-149cbc2a2418e506c71abe7759c9c81eea68976b.tar.xz |
Peer through zext and sext to eliminate them when it is safe to do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82389 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r-- | lib/Target/README.txt | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 9dd2b365c0..f180c2e916 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -1656,25 +1656,3 @@ Instcombine should be able to optimize away the loads (and thus the globals). See also PR4973 //===---------------------------------------------------------------------===// - -I saw this constant expression in real code after llvm-g++ -O2: - -declare extern_weak i32 @0(i64) - -define void @foo() { - br i1 icmp eq (i32 zext (i1 icmp ne (i32 (i64)* @0, i32 (i64)* null) to i32), -i32 0), label %cond_true, label %cond_false -cond_true: - ret void -cond_false: - ret void -} - -That branch expression should be reduced to: - - i1 icmp eq (i32 (i64)* @0, i32 (i64)* null) - -It's probably not a perf issue, I just happened to see it while examining -something else and didn't want to forget about it. - -//===---------------------------------------------------------------------===// |