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 | 4a6ab58a43e35728c9ea16ea34093417c2600ecb (patch) | |
tree | e5bc2fabca7ef9269a73b29f26ff29c8e6bf8e90 /test | |
parent | 3f75d12232f19e956ac092bf2e7c32b371a53aa8 (diff) | |
download | external_llvm-4a6ab58a43e35728c9ea16ea34093417c2600ecb.zip external_llvm-4a6ab58a43e35728c9ea16ea34093417c2600ecb.tar.gz external_llvm-4a6ab58a43e35728c9ea16ea34093417c2600ecb.tar.bz2 |
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')
-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 0000000..9673e2e --- /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 +} |