diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-11-06 11:28:22 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-11-06 11:28:22 +0000 |
commit | c1da5f757e5f0bbf7857d54348a94c88cff0cb64 (patch) | |
tree | ea7a321fd0f11ed4422f24b3c2e1feb7e8190840 /llvm/test/Transforms/InstCombine/apint-shift.ll | |
parent | abbd713eb7417f3638541b75b8aff051d2f48377 (diff) | |
download | bcm5719-llvm-c1da5f757e5f0bbf7857d54348a94c88cff0cb64.tar.gz bcm5719-llvm-c1da5f757e5f0bbf7857d54348a94c88cff0cb64.zip |
[InstCombine] Ensure nested shifts are in range (OSS-Fuzz #9880)
llvm-svn: 346225
Diffstat (limited to 'llvm/test/Transforms/InstCombine/apint-shift.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/apint-shift.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/apint-shift.ll b/llvm/test/Transforms/InstCombine/apint-shift.ll index 3266fa6e443..efc088637c4 100644 --- a/llvm/test/Transforms/InstCombine/apint-shift.ll +++ b/llvm/test/Transforms/InstCombine/apint-shift.ll @@ -526,3 +526,22 @@ define i40 @test26(i40 %A) { %D = shl i40 %C, 1 ret i40 %D } + +; OSS-Fuzz #9880 +; https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9880 +define i177 @ossfuzz_9880(i177 %X) { +; CHECK-LABEL: @ossfuzz_9880( +; CHECK-NEXT: ret i177 1 +; + %A = alloca i177 + %L1 = load i177, i177* %A + %B = or i177 0, -1 + %B5 = udiv i177 %L1, %B + %B4 = add i177 %B5, %B + %B2 = add i177 %B, %B4 + %B6 = mul i177 %B5, %B2 + %B20 = shl i177 %L1, %B6 + %B14 = sub i177 %B20, %B5 + %B1 = udiv i177 %B14, %B6 + ret i177 %B1 +} |