llvm-6502/test/Transforms/CorrelatedExprs/looptest.ll
Chris Lattner d4427b6d31 ensure these don't xpass if opt crashes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33215 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 01:04:21 +00:00

44 lines
1.1 KiB
LLVM

; This testcase tests to see if adds and PHI's are handled in their full
; generality. This testcase comes from the following C code:
;
; void f() {
; int i;
; for (i = 1; i < 100; i++) {
; if (i)
; g();
; }
; }
;
; Note that this is a "feature" test, not a correctness test.
;
; XFAIL: *
; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg -disable-output &&
; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg | llvm-dis | not grep cond213
;
implementation ; Functions:
declare void %g()
void %f() {
bb0: ; No predecessors!
br label %bb2
bb2: ; preds = %bb4, %bb0
%cann-indvar = phi int [ 0, %bb0 ], [ %add1-indvar, %bb4 ] ; <int> [#uses=2]
%add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=2]
%cond213 = seteq int %add1-indvar, 0 ; <bool> [#uses=1]
br bool %cond213, label %bb4, label %bb3
bb3: ; preds = %bb2
call void %g( )
br label %bb4
bb4: ; preds = %bb3, %bb2
%reg109 = add int %cann-indvar, 2 ; <int> [#uses=1]
%cond217 = setle int %reg109, 99 ; <bool> [#uses=1]
br bool %cond217, label %bb2, label %bb5
bb5: ; preds = %bb4
ret void
}