summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaury Sechet <deadalnix@gmail.com>2019-03-03 15:11:13 +0000
committerAmaury Sechet <deadalnix@gmail.com>2019-03-03 15:11:13 +0000
commitd341a94261ad17380ff57d8d1a32e9d9d690edb8 (patch)
treec0c6a02e6cf967501a0da44b80605536ed816e06
parent5fa53d159374d4f43e62cfd496488fe544ddaeb5 (diff)
downloadbcm5719-llvm-d341a94261ad17380ff57d8d1a32e9d9d690edb8.tar.gz
bcm5719-llvm-d341a94261ad17380ff57d8d1a32e9d9d690edb8.zip
Add extra ops in add to sub transform test in order to enforce proper operand ordering. NFC
llvm-svn: 355291
-rw-r--r--llvm/test/Transforms/InstCombine/add.ll12
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/test/Transforms/InstCombine/add.ll b/llvm/test/Transforms/InstCombine/add.ll
index a6a305bd41b..0f805e856f8 100644
--- a/llvm/test/Transforms/InstCombine/add.ll
+++ b/llvm/test/Transforms/InstCombine/add.ll
@@ -948,13 +948,15 @@ define i32 @add_not_increment_commuted(i32 %A, i32 %B) {
}
; E = (A + ~B) + 1 = A - B
-define i32 @add_to_sub(i32 %A, i32 %B) {
+define i32 @add_to_sub(i32 %M, i32 %B) {
; CHECK-LABEL: @add_to_sub(
+; CHECK-NEXT: [[A:%.*]] = mul i32 [[M:%.*]], 42
; CHECK-NEXT: [[C:%.*]] = xor i32 [[B:%.*]], -1
-; CHECK-NEXT: [[D:%.*]] = add i32 [[C]], [[A:%.*]]
+; CHECK-NEXT: [[D:%.*]] = add i32 [[A]], [[C]]
; CHECK-NEXT: [[E:%.*]] = add i32 [[D]], 1
; CHECK-NEXT: ret i32 [[E]]
;
+ %A = mul i32 %M, 42 ; thwart complexity-based ordering
%C = xor i32 %B, -1
%D = add i32 %A, %C
%E = add i32 %D, 1
@@ -962,13 +964,15 @@ define i32 @add_to_sub(i32 %A, i32 %B) {
}
; E = (~B + A) + 1 = A - B
-define i32 @add_to_sub2(i32 %A, i32 %B) {
+define i32 @add_to_sub2(i32 %A, i32 %M) {
; CHECK-LABEL: @add_to_sub2(
-; CHECK-NEXT: [[C:%.*]] = xor i32 [[B:%.*]], -1
+; CHECK-NEXT: [[B:%.*]] = mul i32 [[M:%.*]], 42
+; CHECK-NEXT: [[C:%.*]] = xor i32 [[B]], -1
; CHECK-NEXT: [[D:%.*]] = add i32 [[C]], [[A:%.*]]
; CHECK-NEXT: [[E:%.*]] = add i32 [[D]], 1
; CHECK-NEXT: ret i32 [[E]]
;
+ %B = mul i32 %M, 42 ; thwart complexity-based ordering
%C = xor i32 %B, -1
%D = add i32 %C, %A
%E = add i32 %D, 1
OpenPOWER on IntegriCloud