diff options
author | Dan Gohman <gohman@apple.com> | 2010-06-24 15:04:11 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-06-24 15:04:11 +0000 |
commit | 102f3851bbde16fdd826d072240731365fe6da5d (patch) | |
tree | 4b722c9415c22d1368c631fa076455e03deacab6 /test/CodeGen/X86/2006-11-17-IllegalMove.ll | |
parent | 9e4f243de7c0a41ae02c93f7209ad97935e9853d (diff) | |
download | external_llvm-102f3851bbde16fdd826d072240731365fe6da5d.zip external_llvm-102f3851bbde16fdd826d072240731365fe6da5d.tar.gz external_llvm-102f3851bbde16fdd826d072240731365fe6da5d.tar.bz2 |
Eliminate the first have of the optimization which eliminates BRCOND
when the condition is constant. This optimization shouldn't be
necessary, because codegen shouldn't be able to find dead control
paths that the IR-level optimizer can't find. And it's undesirable,
because it encourages bugpoint to leave "br i1 false" branches
in its output. And it wasn't updating the CFG.
I updated all the tests I could, but some tests are too reduced
and I wasn't able to meaningfully preserve them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106748 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2006-11-17-IllegalMove.ll')
-rw-r--r-- | test/CodeGen/X86/2006-11-17-IllegalMove.ll | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/CodeGen/X86/2006-11-17-IllegalMove.ll b/test/CodeGen/X86/2006-11-17-IllegalMove.ll index e839d72..affb7af 100644 --- a/test/CodeGen/X86/2006-11-17-IllegalMove.ll +++ b/test/CodeGen/X86/2006-11-17-IllegalMove.ll @@ -15,14 +15,14 @@ bb77: ; preds = %entry, %entry %tmp99 = udiv i64 0, 0 ; <i64> [#uses=1] %tmp = load i8* null ; <i8> [#uses=1] %tmp114 = icmp eq i64 0, 0 ; <i1> [#uses=1] - br i1 %tmp114, label %cond_true115, label %cond_next136 + br label %cond_true115 bb84: ; preds = %entry ret void cond_true115: ; preds = %bb77 %tmp118 = load i8* null ; <i8> [#uses=1] - br i1 false, label %cond_next129, label %cond_true120 + br label %cond_true120 cond_true120: ; preds = %cond_true115 %tmp127 = udiv i8 %tmp, %tmp118 ; <i8> [#uses=1] @@ -30,7 +30,7 @@ cond_true120: ; preds = %cond_true115 br label %cond_next129 cond_next129: ; preds = %cond_true120, %cond_true115 - %iftmp.30.0 = phi i64 [ %tmp127.upgrd.1, %cond_true120 ], [ 0, %cond_true115 ] ; <i64> [#uses=1] + %iftmp.30.0 = phi i64 [ %tmp127.upgrd.1, %cond_true120 ] ; <i64> [#uses=1] %tmp132 = icmp eq i64 %iftmp.30.0, %tmp99 ; <i1> [#uses=1] br i1 %tmp132, label %cond_false148, label %cond_next136 |