Test source: git
Source: /home/nlopes/llvm/llvm/test/Transforms/Util/assume-builder-counter.ll ---------------------------------------- define void @test(* %P, * %P1, * %P2, * %P3) { %0: call void @func(nonnull dereferenceable(16) * %P, * null) call void @func(dereferenceable(12) * %P1, nonnull * %P) call void @func_cold(dereferenceable(12) * %P1) call void @func_cold(dereferenceable(12) * %P1) call void @func(* %P1, * %P) call void @func_strbool(* %P1) call void @func(dereferenceable(32) * %P, dereferenceable(8) * %P) call void @func_many(align(8) * %P1) call void @func_argattr(align(8) * %P2, nonnull * %P3) call void @func(nonnull * %P1, nonnull * %P) ret void } => define void @test(* %P, * %P1, * %P2, * %P3) { %0: call void @func(nonnull dereferenceable(16) * %P, * null) call void @func(dereferenceable(12) * %P1, nonnull * %P) call void @func_cold(dereferenceable(12) * %P1) call void @func_cold(dereferenceable(12) * %P1) call void @func(* %P1, * %P) call void @func_strbool(* %P1) call void @func(dereferenceable(32) * %P, dereferenceable(8) * %P) assume_align * %P1 i64 8 assume i1 1 call void @func_many(align(8) * %P1) call void @func_argattr(align(8) * %P2, nonnull * %P3) call void @func(nonnull * %P1, nonnull * %P) ret void } Transformation doesn't verify! ERROR: Source is more defined than target Example: * %P = pointer(non-local, block_id=1, offset=1) * %P1 = pointer(non-local, block_id=1, offset=106) * %P2 = poison * %P3 = poison Source: SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 1 alloc type: 0 Block 1 > size: 128 align: 2 alloc type: 0 Block 2 > align: 8 alloc type: 2 Block 3 > align: 8 alloc type: 2 Block 4 > align: 8 alloc type: 2 Block 5 > align: 8 alloc type: 2 Target: ------------------- SMT STATS ------------------- Num queries: 2 Num invalid: 0 Num skips: 0 Num trivial: 0 (0.0%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 2 (100.0%) Num UNSAT: 0 (0.0%)
+ : 'RUN: at line 4' + /home/nlopes/alive2/build/opt-alive.sh -passes=assume-builder,verify --enable-knowledge-retention --debug-counter=assume-builder-counter-skip=5,assume-builder-counter-count=1 -S /home/nlopes/llvm/llvm/test/Transforms/Util/assume-builder-counter.ll + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/Util/assume-builder-counter.ll --check-prefixes=COUNTER1 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/Util/assume-builder-counter.ll --check-prefixes=COUNTER1