Test source: git
Source: <stdin> ERROR: Unsupported type: <vscale x 2 x i1> ERROR: Unsupported type: <vscale x 2 x i1> ERROR: Unsupported type: <vscale x 4 x float> ERROR: Unsupported type: <vscale x 4 x float> ERROR: Unsupported type: <vscale x 4 x float> ERROR: Unsupported instruction: %cond = invoke i1 @foo() to label %invoke.cont unwind label %lpad ERROR: Unsupported instruction: %result = invoke i32 @bar() to label %merge unwind label %lpad ---------------------------------------- define i1 @test5(i1 %C) { %0: %V = select i1 %C, i1 0, i1 1 ret i1 %V } => define i1 @test5(i1 %C) { %0: %not.C = xor i1 %C, 1 ret i1 %not.C } Transformation seems to be correct! ---------------------------------------- define i32 @test6(i1 %C) { %0: %V = select i1 %C, i32 1, i32 0 ret i32 %V } => define i32 @test6(i1 %C) { %0: %V = zext i1 %C to i32 ret i32 %V } Transformation seems to be correct! ---------------------------------------- define i1 @trueval_is_true(i1 %C, i1 %X) { %0: %R = select i1 %C, i1 1, i1 %X ret i1 %R } => define i1 @trueval_is_true(i1 %C, i1 %X) { %0: %R = or i1 %C, %X ret i1 %R } Transformation doesn't verify! ERROR: Target is more poisonous than source Example: i1 %C = #x1 (1) i1 %X = poison Source: i1 %R = #x1 (1) Target: i1 %R = poison Source value: #x1 (1) Target value: poison ------------------- SMT STATS ------------------- Num queries: 8 Num invalid: 0 Num skips: 0 Num trivial: 10 (55.6%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 4 (50.0%) Num UNSAT: 4 (50.0%)
+ : 'RUN: at line 2' + /home/nlopes/alive2/build/opt-alive.sh -instcombine -S + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstCombine/select.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.ll