1
0
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2024-12-27 13:30:05 +00:00
llvm-6502/test/Other/2002-03-11-ConstPropCrash.ll
Dan Gohman f2f6ce65b7 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 18:01:28 +00:00

25 lines
873 B
LLVM

; When constant propogating terminator instructions, the basic block iterator
; was not updated to refer to the final position of the new terminator. This
; can be bad, f.e. because constproping a terminator can lead to the
; destruction of PHI nodes, which invalidates the iterator!
;
; Fixed by adding new arguments to ConstantFoldTerminator
;
; RUN: opt < %s -constprop
define void @build_tree(i32 %ml) {
; <label>:0
br label %bb2
bb2: ; preds = %bb2, %0
%reg137 = phi i32 [ %reg140, %bb2 ], [ 12, %0 ] ; <i32> [#uses=1]
%reg138 = phi i32 [ %reg139, %bb2 ], [ 0, %0 ] ; <i32> [#uses=1]
%reg139 = add i32 %reg138, 1 ; <i32> [#uses=1]
%reg140 = add i32 %reg137, -1 ; <i32> [#uses=1]
br i1 false, label %bb2, label %bb3
bb3: ; preds = %bb2
ret void
}