Files
clang-p2996/llvm/test/Transforms/InstCombine/oss_fuzz_32759.ll
Nuno Lopes 952e069393 [NFC] remove 'br undef' from InstCombine test cases
This is UB and allows the compiler to give any result, so these tests weren't meaningful
InstCombine tests are now clean of 'br undef'
2022-06-10 15:28:57 +01:00

30 lines
891 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=instcombine -S | FileCheck %s
target datalayout = "n32"
define i1 @oss_fuzz_32759(i1 %y, i1 %c1) {
; CHECK-LABEL: @oss_fuzz_32759(
; CHECK-NEXT: entry:
; CHECK-NEXT: br i1 [[C1:%.*]], label [[COND_TRUE:%.*]], label [[END:%.*]]
; CHECK: cond.true:
; CHECK-NEXT: br label [[END]]
; CHECK: end:
; CHECK-NEXT: ret i1 false
;
entry:
br i1 %c1, label %cond.true, label %end
cond.true: ; preds = %entry
%zy = zext i1 %y to i32
%B6 = shl i32 %zy, 2147483647
%B3 = ashr i32 %B6, 2147483647
%B7 = srem i32 %B3, 123
%cond = xor i32 %B7, %B3
br label %end
end: ; preds = %cond.true, %entry
%p = phi i32 [ %cond, %cond.true ], [ -1, %entry ]
%r = icmp eq i32 %p, 0
ret i1 %r
}