Test source: git
Source: <stdin> ---------------------------------------- define i1 @test_uadd1() { %0: %x = uadd_overflow {i8, i1} 254, 3 %overflow = extractvalue {i8, i1} %x, 1 ret i1 %overflow } => define i1 @test_uadd1() { %0: ret i1 1 } Transformation seems to be correct! ---------------------------------------- define i8 @test_uadd2() { %0: %x = uadd_overflow {i8, i1} 254, 44 %result = extractvalue {i8, i1} %x, 0 ret i8 %result } => define i8 @test_uadd2() { %0: ret i8 42 } Transformation seems to be correct! ---------------------------------------- define {i8, i1} @test_uadd3(i8 %v) { %0: %result = uadd_overflow {i8, i1} %v, undef ret {i8, i1} %result } => define {i8, i1} @test_uadd3(i8 %v) { %0: ret {i8, i1} { undef, 0 } } Transformation doesn't verify! ERROR: Value mismatch Example: i8 %v = #x40 (64) Source: {i8, i1} %result = { undef, undef } Target: Source value: { undef, undef } Target value: { #x20 (32), #x0 (0) } ------------------- 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/scripts/opt-alive.sh -instsimplify -S + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstSimplify/call.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/InstSimplify/call.ll