mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-19 04:29:21 +00:00
Another missed optimization with LICM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42552 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
892d392905
commit
2bb6d459e6
@ -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
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user