diff options
| author | James Molloy <james.molloy@arm.com> | 2016-09-11 09:00:03 +0000 |
|---|---|---|
| committer | James Molloy <james.molloy@arm.com> | 2016-09-11 09:00:03 +0000 |
| commit | 104370ab37b6b6fb4d35fcd86a52f3c77af4cd20 (patch) | |
| tree | 272f72063cac6d81636234004ec43e71215cc66c /llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll | |
| parent | 3e1ce05752101ed7e1903294de2a3638e5036a63 (diff) | |
| download | bcm5719-llvm-104370ab37b6b6fb4d35fcd86a52f3c77af4cd20.tar.gz bcm5719-llvm-104370ab37b6b6fb4d35fcd86a52f3c77af4cd20.zip | |
[SimplifyCFG] Be even more conservative in SinkThenElseCodeToEnd
This should *actually* fix PR30244. This cranks up the workaround for PR30188 so that we never sink loads or stores of allocas.
The idea is that these should be removed by SROA/Mem2Reg, and any movement of them may well confuse SROA or just cause unwanted code churn. It's not ideal that the midend should be crippled like this, but that unwanted churn can really cause significant regressions in important workloads (tsan).
llvm-svn: 281162
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll')
| -rw-r--r-- | llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll b/llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll index 7fbaa735059..9dd04a23e36 100644 --- a/llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll +++ b/llvm/test/Transforms/SimplifyCFG/inline-asm-sink.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -simplifycfg -S | FileCheck %s +; RUN: opt < %s -mem2reg -simplifycfg -S | FileCheck %s define i32 @test(i32 %x) { ; CHECK-LABEL: @test @@ -23,7 +23,7 @@ if.else: if.end: ; CHECK-LABEL: if.end: -; CHECK: {{%.*}} = phi i32 [ [[ASM2]], %if.else ], [ [[ASM1]], %if.then ] +; CHECK: {{%.*}} = phi i32 [ [[ASM1]], %if.then ], [ [[ASM2]], %if.else ] %tmp3 = load i32, i32* %y, align 4 ret i32 %tmp3 } |

