alive2 icon indicating copy to clipboard operation
alive2 copied to clipboard

Automatic verification of LLVM optimizations

Results 105 alive2 issues
Sort by recently updated
recently updated
newest added

Alive2 verifies the example below (`nsw` added to `%iv.next` in `%loop`) as correct without any unrolling options and with `--disable-undef-input -tgt-unroll=1 -src-unroll=1`. It fails to verify with `--disable-undef-input -tgt-unroll=2 -src-unroll=2`....

loops

Reduced test case from @regehr: ```llvm define void @test() { entry: %i = alloca i32, align 4 %j = alloca i32, align 4 store i32 0, i32* %i, align 4...

loops

```llvm ; Transforms/LoopFusion/cannot_fuse.ll define float @test(float* nocapture %a, i32 %n) { entry: %conv = zext i32 %n to i64 %cmp32 = icmp eq i32 %n, 0 br i1 %cmp32, label...

loops

https://alive2.llvm.org/ce/z/J7_Uvt This says: ``` Mismatch in pointer(non-local, block_id=0, offset=0) Source value: #x01 Target value: #x01 ``` Which is the same value ... I guess what it tries to tell us...

memory

Skolemization is not done in the memory refinement yet: we need to raise memory mismatch in this example. ``` @p = global i8 0 @q = global i8 0 define...

memory

see this: ```llvm define i1 @two_nonnull_mallocs() { %0: %m = malloc i64 4 %n = malloc i64 4 %cmp = icmp eq * %m, %n ret i1 %cmp } =>...

memory

LLVM has intrinsics for FP operations that specify not only the fast-math flags, but also the rounding mode. We are only missing support for passing around the rounding mode, everything...

enhancement
floats

The test goes through if dereferenceable is removed, the %n0->null rewrite in the phi is not done, or the call or the alloca go away. Weird.. ```llvm define i32* @src(i32*...

memory

LLVM does this (from @regehr): ``` define i1 @fn(i64 %x) { %m = malloc i64 %x %cmp = icmp eq * %m, null, use_provenance ret i1 %cmp } => define...

memory

LLVM supports pointers with offsets smaller than pointer size: https://reviews.llvm.org/D112370 We need to fix this in Alive.

enhancement
memory