Test source: git
Source: /home/nlopes/llvm/llvm/test/Transforms/Scalarizer/order-bug.ll ---------------------------------------- define <4 x i32> @main(float %a) { %entry: %i = insertelement <4 x float> undef, float %a, i32 0 br label %z %z: %b = bitcast <4 x float> %i to <4 x i32> br label %y %y: %f = shufflevector <4 x i32> %b, <4 x i32> undef, 0, 0, 0, 0 ret <4 x i32> %f } => define <4 x i32> @main(float %a) { %entry: %i = insertelement <4 x float> undef, float %a, i32 0 br label %z %z: %b.i0 = bitcast float %a to i32 br label %y %y: %f.upto0 = insertelement <4 x i32> undef, i32 %b.i0, i32 0 %f.upto1 = insertelement <4 x i32> %f.upto0, i32 %b.i0, i32 1 %f.upto2 = insertelement <4 x i32> %f.upto1, i32 %b.i0, i32 2 %f = insertelement <4 x i32> %f.upto2, i32 %b.i0, i32 3 ret <4 x i32> %f } Transformation doesn't verify! ERROR: Value mismatch Example: float %a = undef Source: <4 x float> %i = < undef, #x00000000 (+0.0) [based on undef value], #x00000000 (+0.0), #x00000000 (+0.0) > <4 x i32> %b = < #x7f800000 (2139095040), #x00000000 (0), #x00000000 (0), #x00000000 (0) > <4 x i32> %f = < #x7f800000 (2139095040), #x7f800000 (2139095040), #x7f800000 (2139095040), #x7f800000 (2139095040) > Target: <4 x float> %i = < undef, #x00000000 (+0.0) [based on undef value], #x00000000 (+0.0), #x00000000 (+0.0) > i32 %b.i0 = #x7f802000 (2139103232) <4 x i32> %f.upto0 = < #x7f802000 (2139103232), #x00000000 (0), #x00000000 (0), #x00000000 (0) > <4 x i32> %f.upto1 = < #x7f802000 (2139103232), #x02000000 (33554432), #x00000000 (0), #x00000000 (0) > <4 x i32> %f.upto2 = < #x7f802000 (2139103232), #x02000000 (33554432), #x00001000 (4096), #x00000000 (0) > <4 x i32> %f = < #x7f802000 (2139103232), #x02000000 (33554432), #x00001000 (4096), #x04000000 (67108864) > Source value: < #x7f800000 (2139095040), #x7f800000 (2139095040), #x7f800000 (2139095040), #x7f800000 (2139095040) > Target value: < #x7f802000 (2139103232), #x02000000 (33554432), #x00001000 (4096), #x04000000 (67108864) > ------------------- SMT STATS ------------------- Num queries: 8 Num invalid: 0 Num skips: 0 Num trivial: 2 (20.0%) Num timeout: 2 (25.0%) Num errors: 0 (0.0%) Num SAT: 3 (37.5%) Num UNSAT: 3 (37.5%)
+ : 'RUN: at line 1' + /home/nlopes/alive2/scripts/opt-alive.sh /home/nlopes/llvm/llvm/test/Transforms/Scalarizer/order-bug.ll -scalarizer -S -o - + /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/Scalarizer/order-bug.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/Scalarizer/order-bug.ll
NOTE: This test would pass if undef didn't exist!