- Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Labels
hangCompiler hang (infinite loop)Compiler hang (infinite loop)llvm:instcombineCovers the InstCombine, InstSimplify and AggressiveInstCombine passesCovers the InstCombine, InstSimplify and AggressiveInstCombine passes
Description
Reduced C program:
int b; void a(int d, int e); void c() { a(((((!0) >= b) & b) == b) & b, b); }Godbolt: https://godbolt.org/z/GYdsMYWMq
Commands:
> timeout 60 clang -O1 red.c > echo $? 124Reduced LLVM IR:
define void @c(ptr %b) { entry: %0 = load i32, ptr %b, align 4 %cmp = icmp slt i32 %0, 2 %1 = and i32 %0, 1 %and = select i1 %cmp, i32 %1, i32 0 %cmp1 = icmp eq i32 %and, %0 %and3 = select i1 %cmp1, i32 %1, i32 0 call void null(i32 %and3, i32 noundef %0) ret void }Godbolt: https://godbolt.org/z/7bnhd9saK
Commands:
> timeout 60 /scratch/tc-testing/tc-feb-22-llvm/build/build-llvm-linux/bin/opt -passes=instcombine reduced.ll -disable-output > echo $? 124Found via fuzzer
dtcxzyw
Metadata
Metadata
Assignees
Labels
hangCompiler hang (infinite loop)Compiler hang (infinite loop)llvm:instcombineCovers the InstCombine, InstSimplify and AggressiveInstCombine passesCovers the InstCombine, InstSimplify and AggressiveInstCombine passes