aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/2002-05-14-SubFailure.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine/2002-05-14-SubFailure.ll')
-rw-r--r--test/Transforms/InstCombine/2002-05-14-SubFailure.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/2002-05-14-SubFailure.ll b/test/Transforms/InstCombine/2002-05-14-SubFailure.ll
new file mode 100644
index 000000000000..34c2df605e42
--- /dev/null
+++ b/test/Transforms/InstCombine/2002-05-14-SubFailure.ll
@@ -0,0 +1,10 @@
+; Instcombine was missing a test that caused it to make illegal transformations
+; sometimes. In this case, it transforms the sub into an add:
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep sub
+;
+define i32 @test(i32 %i, i32 %j) {
+ %A = mul i32 %i, %j
+ %B = sub i32 2, %A
+ ret i32 %B
+}
+