diff options
author | Devang Patel <dpatel@apple.com> | 2008-06-18 02:16:38 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-06-18 02:16:38 +0000 |
commit | 64cd6582238b38a93ff0113409f91ad7ab746f35 (patch) | |
tree | 5ce67c215e3cedd5f0ce253f09f815704edb4d6a /test/Transforms/LoopUnswitch | |
parent | 6d0cc55ef3f3f3c5829e3cc2bab841fd74b0f8cb (diff) |
Preserve dominance frontier while trivially unswitching loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52438 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopUnswitch')
-rw-r--r-- | test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll b/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll new file mode 100644 index 0000000000..713a0bddb1 --- /dev/null +++ b/test/Transforms/LoopUnswitch/2008-06-17-DomFrontier.ll @@ -0,0 +1,22 @@ +; RUN: llvm-as < %s | opt -licm -loop-unswitch -disable-output +@g_56 = external global i16 ; <i16*> [#uses=2] + +define i32 @func_67(i32 %p_68, i8 signext %p_69, i8 signext %p_71) nounwind { +entry: + br label %bb +bb: ; preds = %bb44, %entry + br label %bb3 +bb3: ; preds = %bb36, %bb + %bothcond = or i1 false, false ; <i1> [#uses=1] + br i1 %bothcond, label %bb29, label %bb19 +bb19: ; preds = %bb3 + br i1 false, label %bb36, label %bb29 +bb29: ; preds = %bb19, %bb3 + ret i32 0 +bb36: ; preds = %bb19 + store i16 0, i16* @g_56, align 2 + br i1 false, label %bb44, label %bb3 +bb44: ; preds = %bb44, %bb36 + %tmp46 = load i16* @g_56, align 2 ; <i16> [#uses=0] + br i1 false, label %bb, label %bb44 +} |