mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-18 10:31:57 +00:00
8a08769bad
take into account the instrucion pointed by InsertPt. Thanks to it, returning the new value of InsertPt to the InsertBinop() caller can be avoided. The bug was, actually, in visitAddRecExpr() method which wasn't correctly handling changes of InsertPt. There shouldn't be any performance regression, as -gvn pass (run after -indvars) removes any redundant binops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52291 91177308-0d34-0410-b5e6-96231b3b80d8
18 lines
620 B
LLVM
18 lines
620 B
LLVM
; RUN: llvm-as < %s | opt -indvars -disable-output
|
|
; PR2434
|
|
|
|
define fastcc void @regcppop() nounwind {
|
|
entry:
|
|
%tmp61 = add i32 0, -5 ; <i32> [#uses=1]
|
|
br label %bb
|
|
|
|
bb: ; preds = %bb, %entry
|
|
%PL_savestack_ix.tmp.0 = phi i32 [ %tmp61, %entry ], [ %tmp127, %bb ] ; <i32> [#uses=2]
|
|
%indvar10 = phi i32 [ 0, %entry ], [ %indvar.next11, %bb ] ; <i32> [#uses=2]
|
|
%tmp13 = mul i32 %indvar10, -4 ; <i32> [#uses=0]
|
|
%tmp111 = add i32 %PL_savestack_ix.tmp.0, -3 ; <i32> [#uses=0]
|
|
%tmp127 = add i32 %PL_savestack_ix.tmp.0, -4 ; <i32> [#uses=1]
|
|
%indvar.next11 = add i32 %indvar10, 1 ; <i32> [#uses=1]
|
|
br label %bb
|
|
}
|