Test source: git
Source: <stdin> ---------------------------------------- define i4 @scalar(i4 %x, i4 %y, i4 %m) { %0: %im = xor i4 %m, 15 %n0 = xor i4 %x, %y %n1 = and i4 %n0, %im %r = xor i4 %n1, %y ret i4 %r } => define i4 @scalar(i4 %x, i4 %y, i4 %m) { %0: %n0 = xor i4 %x, %y %1 = and i4 %n0, %m %r = xor i4 %1, %x ret i4 %r } Transformation doesn't verify! ERROR: Target's return value is more undefined Example: i4 %x = undef i4 %y = #x9 (9, -7) i4 %m = #xf (15, -1) Source: i4 %im = #x0 (0) i4 %n0 = any i4 %n1 = #x0 (0) i4 %r = #x9 (9, -7) Target: i4 %n0 = #xd (13, -3) i4 %1 = #xd (13, -3) i4 %r = #x1 (1) Source value: #x9 (9, -7) Target value: #x1 (1) ------------------- SMT STATS ------------------- Num queries: 4 Num invalid: 0 Num skips: 0 Num trivial: 2 (33.3%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 2 (50.0%) Num UNSAT: 2 (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/invert-variable-mask-in-masked-merge-scalar.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/invert-variable-mask-in-masked-merge-scalar.ll
NOTE: This test would pass if undef didn't exist!