1*37e6a27dSArthur Eubanks; RUN: opt < %s -passes='loop(loop-deletion),simplifycfg' -simplifycfg-require-and-preserve-domtree=1 | opt -passes='print<loops>' -disable-output 2>&1 | FileCheck %s
2cee313d2SEric Christopher; PR1179
3cee313d2SEric Christopher
4cee313d2SEric Christopher; CHECK-NOT: Loop Containing
5cee313d2SEric Christopher
6cee313d2SEric Christopherdefine i32 @ltst(i32 %x) {
7cee313d2SEric Christopherentry:
8cee313d2SEric Christopher        icmp sgt i32 %x, 0              ; <i1>:0 [#uses=1]
9cee313d2SEric Christopher        br i1 %0, label %bb.preheader, label %bb8
10cee313d2SEric Christopher
11cee313d2SEric Christopherbb.preheader:           ; preds = %entry
12cee313d2SEric Christopher        br label %bb
13cee313d2SEric Christopher
14cee313d2SEric Christopherbb:             ; preds = %bb, %bb.preheader
15cee313d2SEric Christopher        %i.01.0 = phi i32 [ %tmp4, %bb ], [ 0, %bb.preheader ]          ; <i32> [#uses=1]
16cee313d2SEric Christopher        %j.03.0 = phi i32 [ %tmp2, %bb ], [ 0, %bb.preheader ]          ; <i32> [#uses=1]
17cee313d2SEric Christopher        %tmp4 = add i32 %i.01.0, 1              ; <i32> [#uses=2]
18cee313d2SEric Christopher        %tmp2 = add i32 %j.03.0, 1              ; <i32> [#uses=2]
19cee313d2SEric Christopher        icmp slt i32 %tmp4, %x          ; <i1>:1 [#uses=1]
20cee313d2SEric Christopher        br i1 %1, label %bb, label %bb8.loopexit
21cee313d2SEric Christopher
22cee313d2SEric Christopherbb8.loopexit:           ; preds = %bb
23cee313d2SEric Christopher        br label %bb8
24cee313d2SEric Christopher
25cee313d2SEric Christopherbb8:            ; preds = %bb8.loopexit, %entry
26cee313d2SEric Christopher        %j.03.1 = phi i32 [ 0, %entry ], [ %tmp2, %bb8.loopexit ]               ; <i32> [#uses=1]
27cee313d2SEric Christopher        ret i32 %j.03.1
28cee313d2SEric Christopher}
29cee313d2SEric Christopher
30