summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-08-01 22:23:50 +0000
committerDevang Patel <dpatel@apple.com>2007-08-01 22:23:50 +0000
commit561b0c29a395dff62cdaf0be8aa5c2b550116490 (patch)
treef0b562e43695bc2ddc8f0fa6ae48b975621072c5 /llvm/test
parent7886467b352759c5d34fb210106e738b735da9c0 (diff)
downloadbcm5719-llvm-561b0c29a395dff62cdaf0be8aa5c2b550116490.tar.gz
bcm5719-llvm-561b0c29a395dff62cdaf0be8aa5c2b550116490.zip
Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA. Fix dominance frontier update during loop unswitch. This fixes PR 1589. llvm-svn: 40695
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll30
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll b/llvm/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll
new file mode 100644
index 00000000000..9673e2e96a9
--- /dev/null
+++ b/llvm/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll
@@ -0,0 +1,30 @@
+; RUN: llvm-as < %s | opt -licm -loop-unswitch -disable-output
+; PR 1589
+
+ %struct.QBasicAtomic = type { i32 }
+
+define void @_ZNK5QDate9addMonthsEi(%struct.QBasicAtomic* sret %agg.result, %struct.QBasicAtomic* %this, i32 %nmonths) {
+entry:
+ br label %cond_true90
+
+bb16: ; preds = %cond_true90
+ br i1 false, label %bb93, label %cond_true90
+
+bb45: ; preds = %cond_true90
+ br i1 false, label %bb53, label %bb58
+
+bb53: ; preds = %bb45
+ br i1 false, label %bb93, label %cond_true90
+
+bb58: ; preds = %bb45
+ store i32 0, i32* null, align 4
+ br i1 false, label %cond_true90, label %bb93
+
+cond_true90: ; preds = %bb58, %bb53, %bb16, %entry
+ %nmonths_addr.016.1 = phi i32 [ %nmonths, %entry ], [ 0, %bb16 ], [ 0, %bb53 ], [ %nmonths_addr.016.1, %bb58 ] ; <i32> [#uses=2]
+ %tmp14 = icmp slt i32 %nmonths_addr.016.1, -11 ; <i1> [#uses=1]
+ br i1 %tmp14, label %bb16, label %bb45
+
+bb93: ; preds = %bb58, %bb53, %bb16
+ ret void
+}
OpenPOWER on IntegriCloud