diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-05 21:29:49 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-05 21:29:49 +0000 |
| commit | c286f4bf2a5f9ca263cb9e95a53e5d8ee46f16a1 (patch) | |
| tree | 3353b29de688456fd4964404aecf9eb935209afe | |
| parent | 5798b26c65abd406ff6b70e65eb1d520f5f59215 (diff) | |
| download | bcm5719-llvm-c286f4bf2a5f9ca263cb9e95a53e5d8ee46f16a1.tar.gz bcm5719-llvm-c286f4bf2a5f9ca263cb9e95a53e5d8ee46f16a1.zip | |
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
| -rw-r--r-- | llvm/test/Transforms/InstCombine/add2.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/add2.ll b/llvm/test/Transforms/InstCombine/add2.ll index 67d560e500a..aaf3a7a235b 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> <i64 1, i64 2>, %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 +} |

