There is also two test file crashed. The motivation to do this is I
found that the following file was miscompiled:
define void @zext_sdiv_not_ok3_maybe_poison_denum(i32 noundef %nn, i16 %xx) {
entry:
%n = and i32 %nn, 123
%x = or i16 %xx, 1
br label %loop
loop:
call void @maythrow()
%zext = zext i16 %x to i32
%div = sdiv i32 %n, %zext
call void @use.i32(i32 %div)
br label %loop
}LICM hoisted sdiv to entry block incorrectly. Since if %xx is poison,
sdiv is UB.