From c286f4bf2a5f9ca263cb9e95a53e5d8ee46f16a1 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 5 Jun 2014 21:29:49 +0000 Subject: [PATCH] Add a testcase where there is an overflow when combining two constants. I noticed that a proposed optimization would have prevented this. llvm-svn: 210287 --- llvm/test/Transforms/InstCombine/add2.ll | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/add2.ll b/llvm/test/Transforms/InstCombine/add2.ll index 67d560e..aaf3a7a 100644 --- a/llvm/test/Transforms/InstCombine/add2.ll +++ b/llvm/test/Transforms/InstCombine/add2.ll @@ -76,3 +76,13 @@ define <2 x i64> @test8(<2 x i64> %A) { ; CHECK-NEXT: %add = sub <2 x i64> , %A ; CHECK-NEXT: ret <2 x i64> %add } + +define i16 @test9(i16 %a) { + %b = mul i16 %a, 2 + %c = mul i16 %a, 32767 + %d = add i16 %b, %c + ret i16 %d +; CHECK-LABEL: @test9( +; CHECK-NEXT: %d = mul i16 %a, -32767 +; CHECK-NEXT: ret i16 %d +} -- 2.7.4