aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-07-09 04:03:30 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-07-09 04:03:30 +0000
commitf16120475e77bcacf553373d5720d53132378572 (patch)
tree9b93b88e28f11c406dbc88983eab12661ef2fccb
parentffd1326ff8dfc652a8026c3faebf55bbba7c32c7 (diff)
downloadexternal_llvm-f16120475e77bcacf553373d5720d53132378572.zip
external_llvm-f16120475e77bcacf553373d5720d53132378572.tar.gz
external_llvm-f16120475e77bcacf553373d5720d53132378572.tar.bz2
Move PR4517 to README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75098 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/README.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index f68cf0e..be7bb3a 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -1677,3 +1677,25 @@ Instcombine should be able to optimize away the loads (and thus the globals).
//===---------------------------------------------------------------------===//
+
+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.
+
+//===---------------------------------------------------------------------===//