diff options
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r-- | llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll b/llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll index f7cd0791482..e124a035861 100644 --- a/llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll +++ b/llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll @@ -154,6 +154,21 @@ define i32 @t11_shl_nsw_flag_preservation(i32 %x, i32 %y) { ret i32 %t3 } +; Reduced from https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15587 +@X = external global i32 +define i64 @constantexpr() { +; CHECK-LABEL: @constantexpr( +; CHECK-NEXT: ret i64 0 +; + %A = alloca i64 + %L = load i64, i64* %A + %V = add i64 ptrtoint (i32* @X to i64), 0 + %B2 = shl i64 %V, 0 + %B4 = ashr i64 %B2, %L + %B = and i64 undef, %B4 + ret i64 %B +} + ; No one-use tests since we will only produce a single instruction here. ; Negative tests |