Test source: git
Source: <stdin> ---------------------------------------- define * @test1(* %b, * %e) { %0: %e_ptr = ptrtoint * %e to i64 %b_ptr = ptrtoint * %b to i64 %sub = sub i64 %e_ptr, %b_ptr %sdiv = sdiv exact i64 %sub, 7 %gep = gep inbounds * %b, 7 x i64 %sdiv ret * %gep } => define * @test1(* %b, * %e) { %0: ret * %e } Transformation doesn't verify! ERROR: Value mismatch Example: * %b = null * %e = pointer(non-local, block_id=2, offset=-7403841251996729344) Source: i64 %e_ptr = #x0000000000000000 (0) i64 %b_ptr = #x0000000000000000 (0) i64 %sub = #x0000000000000000 (0) i64 %sdiv = #x0000000000000000 (0) * %gep = null SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 64 alloc type: 0 address: 0 Block 1 > size: 5806781510342377474 align: 16 alloc type: 0 address: 454905344611652101 Block 2 > size: 577129294027953690 align: 2 alloc type: 0 address: 7403841251996729344 Target: Source value: null Target value: pointer(non-local, block_id=2, offset=-7403841251996729344) ------------------- SMT STATS ------------------- Num queries: 2 Num invalid: 0 Num skips: 0 Num trivial: 2 (50.0%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 2 (100.0%) Num UNSAT: 0 (0.0%)
+ : 'RUN: at line 2' + /home/nlopes/alive2/scripts/opt-alive.sh -S -instsimplify + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstSimplify/gep.ll warning: The code that requested the fixed number of elements has made the assumption that this vector is not scalable. This assumption was not correct, and this may lead to broken code warning: The code that requested the fixed number of elements has made the assumption that this vector is not scalable. This assumption was not correct, and this may lead to broken code Alive2: Transform doesn't verify; aborting! FileCheck error: '<stdin>' is empty. FileCheck command line: /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstSimplify/gep.ll