diff options
| author | Chad Rosier <mcrosier@codeaurora.org> | 2016-08-17 15:54:39 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-08-17 15:54:39 +0000 |
| commit | ea7e4647dbebcbbf327b747cba651e13e1fc65b0 (patch) | |
| tree | 71296325466b661f33338fb35e00dfa27e4d05ff /llvm/test | |
| parent | cbce96c3afbccc0c8b703ca818b6d4d60402f141 (diff) | |
| download | bcm5719-llvm-ea7e4647dbebcbbf327b747cba651e13e1fc65b0.tar.gz bcm5719-llvm-ea7e4647dbebcbbf327b747cba651e13e1fc65b0.zip | |
Revert "Reassociate: Reprocess RedoInsts after each inst".
This reverts commit r258830, which introduced a bug described in PR28367.
PR28367
llvm-svn: 278938
Diffstat (limited to 'llvm/test')
3 files changed, 5 insertions, 62 deletions
diff --git a/llvm/test/Transforms/Reassociate/prev_insts_canonicalized.ll b/llvm/test/Transforms/Reassociate/prev_insts_canonicalized.ll deleted file mode 100644 index 649761e57c9..00000000000 --- a/llvm/test/Transforms/Reassociate/prev_insts_canonicalized.ll +++ /dev/null @@ -1,57 +0,0 @@ -; RUN: opt < %s -reassociate -S | FileCheck %s - -; These tests make sure that before processing insts -; any previous instructions are already canonicalized. -define i32 @foo(i32 %in) { -; CHECK-LABEL: @foo -; CHECK-NEXT: %factor = mul i32 %in, -4 -; CHECK-NEXT: %factor1 = mul i32 %in, 2 -; CHECK-NEXT: %_3 = add i32 %factor, 1 -; CHECK-NEXT: %_5 = add i32 %_3, %factor1 -; CHECK-NEXT: ret i32 %_5 - %_0 = add i32 %in, 1 - %_1 = mul i32 %in, -2 - %_2 = add i32 %_0, %_1 - %_3 = add i32 %_1, %_2 - %_4 = add i32 %_3, 1 - %_5 = add i32 %in, %_3 - ret i32 %_5 -} - -; CHECK-LABEL: @foo1 -define void @foo1(float %in, i1 %cmp) { -wrapper_entry: - br label %foo1 - -for.body: - %0 = fadd float %in1, %in1 - br label %foo1 - -foo1: - %_0 = fmul fast float %in, -3.000000e+00 - %_1 = fmul fast float %_0, 3.000000e+00 - %in1 = fadd fast float -3.000000e+00, %_1 - %in1use = fadd fast float %in1, %in1 - br label %for.body - - -} - -; CHECK-LABEL: @foo2 -define void @foo2(float %in, i1 %cmp) { -wrapper_entry: - br label %for.body - -for.body: -; If the operands of the phi are sheduled for processing before -; foo1 is processed, the invariant of reassociate are not preserved - %unused = phi float [%in1, %foo1], [undef, %wrapper_entry] - br label %foo1 - -foo1: - %_0 = fmul fast float %in, -3.000000e+00 - %_1 = fmul fast float %_0, 3.000000e+00 - %in1 = fadd fast float -3.000000e+00, %_1 - %in1use = fadd fast float %in1, %in1 - br label %for.body -} diff --git a/llvm/test/Transforms/Reassociate/reassoc-intermediate-fnegs.ll b/llvm/test/Transforms/Reassociate/reassoc-intermediate-fnegs.ll index 7d82ef7e7a2..c2cdffce61e 100644 --- a/llvm/test/Transforms/Reassociate/reassoc-intermediate-fnegs.ll +++ b/llvm/test/Transforms/Reassociate/reassoc-intermediate-fnegs.ll @@ -1,8 +1,8 @@ ; RUN: opt < %s -reassociate -S | FileCheck %s ; CHECK-LABEL: faddsubAssoc1 -; CHECK: [[TMP1:%.*]] = fsub fast half 0xH8000, %a -; CHECK: [[TMP2:%.*]] = fadd fast half %b, [[TMP1]] -; CHECK: fmul fast half [[TMP2]], 0xH4500 +; CHECK: [[TMP1:%tmp.*]] = fmul fast half %a, 0xH4500 +; CHECK: [[TMP2:%tmp.*]] = fmul fast half %b, 0xH4500 +; CHECK: fsub fast half [[TMP2]], [[TMP1]] ; CHECK: ret ; Input is A op (B op C) define half @faddsubAssoc1(half %a, half %b) { diff --git a/llvm/test/Transforms/Reassociate/xor_reassoc.ll b/llvm/test/Transforms/Reassociate/xor_reassoc.ll index a22689805fb..0bed6f35880 100644 --- a/llvm/test/Transforms/Reassociate/xor_reassoc.ll +++ b/llvm/test/Transforms/Reassociate/xor_reassoc.ll @@ -88,8 +88,8 @@ define i32 @xor_special2(i32 %x, i32 %y) { %xor1 = xor i32 %xor, %and ret i32 %xor1 ; CHECK-LABEL: @xor_special2( -; CHECK: %xor = xor i32 %y, 123 -; CHECK: %xor1 = xor i32 %xor, %x +; CHECK: %xor = xor i32 %x, 123 +; CHECK: %xor1 = xor i32 %xor, %y ; CHECK: ret i32 %xor1 } |

