summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-10-02 21:43:06 +0000
committerBill Wendling <isanbard@gmail.com>2007-10-02 21:43:06 +0000
commitf214ff87014f953269d099b1798a4a662d58dc32 (patch)
treef14ed45673838147d6c95fd5b714331542232d71
parent855011e5c643d07a07409e88ea83ae4ffb17b708 (diff)
downloadbcm5719-llvm-f214ff87014f953269d099b1798a4a662d58dc32.tar.gz
bcm5719-llvm-f214ff87014f953269d099b1798a4a662d58dc32.zip
Another missed optimization with LICM.
llvm-svn: 42552
-rw-r--r--llvm/lib/Target/X86/README.txt23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt
index 517240480d7..81e9797f05f 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/lib/Target/X86/README.txt
@@ -1283,3 +1283,26 @@ vice-versa).
//===---------------------------------------------------------------------===//
+For this code:
+
+cond_next603: ; preds = %bb493, %cond_true336, %cond_next599
+ %v.21050.1 = phi i32 [ %v.21050.0, %cond_next599 ], [ %tmp344, %cond_true336 ], [ %v.2, %bb493 ] ; <i32> [#uses=1]
+ %maxz.21051.1 = phi i32 [ %maxz.21051.0, %cond_next599 ], [ 0, %cond_true336 ], [ %maxz.2, %bb493 ] ; <i32> [#uses=2]
+ %cnt.01055.1 = phi i32 [ %cnt.01055.0, %cond_next599 ], [ 0, %cond_true336 ], [ %cnt.0, %bb493 ] ; <i32> [#uses=2]
+ %byteptr.9 = phi i8* [ %byteptr.12, %cond_next599 ], [ %byteptr.0, %cond_true336 ], [ %byteptr.10, %bb493 ] ; <i8*> [#uses=9]
+ %bitptr.6 = phi i32 [ %tmp5571104.1, %cond_next599 ], [ %tmp4921049, %cond_true336 ], [ %bitptr.7, %bb493 ] ; <i32> [#uses=4]
+ %source.5 = phi i32 [ %tmp602, %cond_next599 ], [ %source.0, %cond_true336 ], [ %source.6, %bb493 ] ; <i32> [#uses=7]
+ %tmp606 = getelementptr %struct.const_tables* @tables, i32 0, i32 0, i32 %cnt.01055.1 ; <i8*> [#uses=1]
+ %tmp607 = load i8* %tmp606, align 1 ; <i8> [#uses=1]
+
+We produce this:
+
+LBB4_70: # cond_next603
+ movl -20(%ebp), %esi
+ movl L_tables$non_lazy_ptr-"L4$pb"(%esi), %esi
+
+However, ICC caches this information before the loop and produces this:
+
+ movl 88(%esp), %eax #481.12
+
+//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud