diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 19:58:01 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 19:58:01 +0000 |
| commit | 050e163ae8b4bb6eb252b59e2f8f36e68ae9239d (patch) | |
| tree | 7376a0c71aad05d327e5b1dcbceb3311a10f9f29 /test/Transforms/Reassociate | |
| parent | 8a6c1c25bce0267ee4072bd7b786b921e8a66a35 (diff) | |
Notes
Diffstat (limited to 'test/Transforms/Reassociate')
| -rw-r--r-- | test/Transforms/Reassociate/add_across_block_crash.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Transforms/Reassociate/add_across_block_crash.ll b/test/Transforms/Reassociate/add_across_block_crash.ll new file mode 100644 index 0000000000000..07be75242b591 --- /dev/null +++ b/test/Transforms/Reassociate/add_across_block_crash.ll @@ -0,0 +1,20 @@ +; RUN: opt < %s -reassociate -S | FileCheck %s +; CHECK-LABEL: main +; This test is to make sure while processing a block, uses of instructions +; from a different basic block don't get added to be re-optimized +define void @main() { +entry: + %0 = fadd fast float undef, undef + br i1 undef, label %bb1, label %bb2 + +bb1: + %1 = fmul fast float undef, -2.000000e+00 + %2 = fmul fast float %1, 2.000000e+00 + %3 = fadd fast float %2, 2.000000e+00 + %4 = fadd fast float %3, %0 + %mul351 = fmul fast float %4, 5.000000e-01 + ret void + +bb2: + ret void +} |
