Test source: git
Source: <stdin> ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ERROR: Unsupported instruction: %tmp11 = tail call i64 %tmp4(%C* %arg) ---------------------------------------- define void @test5(* %arg, i1 %arg1) { %entry: %tmp = select i1 %arg1, * null, * %arg %tmp2 = icmp ne * %tmp, null br i1 %tmp2, label %bb3, label %bb5 %bb5: call void @foobar() br label %bb %bb3: %tmp4 = gep inbounds * %tmp, 16 x i64 0, 1 x i64 0 call void @bar(* %tmp4) br label %bb %bb: ret void } => define void @test5(* %arg, i1 %arg1) { %entry: %tmp21 = icmp eq * %arg, null %tmp2 = or i1 %tmp21, %arg1 br i1 %tmp2, label %bb5, label %bb3 %bb3: %tmp4 = gep inbounds * %arg, 16 x i64 0, 1 x i64 0 call void @bar(* %tmp4) br label %bb %bb5: call void @foobar() br label %bb %bb: ret void } Transformation doesn't verify! ERROR: Source is more defined than target Example: * %arg = poison i1 %arg1 = #x1 (1) Source: * %tmp = null i1 %tmp2 = #x0 (0) * %tmp4 = null SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 64 alloc type: 0 Block 1 > align: 2 alloc type: 0 Block 2 > align: 2 alloc type: 0 Target: i1 %tmp21 = poison i1 %tmp2 = poison * %tmp4 = poison ------------------- 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 3' + /home/nlopes/alive2/scripts/opt-alive.sh -instcombine -S + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstCombine/select-cmp-br.ll 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/InstCombine/select-cmp-br.ll