diff options
author | Devang Patel <dpatel@apple.com> | 2007-08-01 22:23:50 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-08-01 22:23:50 +0000 |
commit | 28ae151c48df634b4df5b3630a9a65021574fb4c (patch) | |
tree | e5bc2fabca7ef9269a73b29f26ff29c8e6bf8e90 /test/Transforms/LoopUnswitch | |
parent | 9066020993695a690c1f979f9cac4e14d325e237 (diff) | |
download | llvm-28ae151c48df634b4df5b3630a9a65021574fb4c.tar.gz llvm-28ae151c48df634b4df5b3630a9a65021574fb4c.tar.bz2 llvm-28ae151c48df634b4df5b3630a9a65021574fb4c.tar.xz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r-- | test/Transforms/LoopUnswitch/2007-08-01-Dom.ll | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll b/test/Transforms/LoopUnswitch/2007-08-01-Dom.ll new file mode 100644 index 0000000000..9673e2e96a --- /dev/null +++ b/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 +} |