--- /dev/null
+; 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.
+;
+; RUN: if as < %s | opt -cee -simplifycfg | dis | grep cond213
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+;
+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
+}