Test Failure: Transforms/InstSimplify/call.ll

Test source: git

Log:

Source: <stdin>
ERROR: Unsupported instruction:   %b0 = call float @llvm.floor.f32(float %a)
ERROR: Unsupported instruction:   %call = call i32 null()
ERROR: Unsupported instruction:   %call = call i32 undef()
ERROR: Unsupported instruction:   %masked.load = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* bitcast (i32* getelementptr ([8 x i32], [8 x i32]* @GV, i64 0, i64 -2) to <8 x i32>*), i32 4, <8 x i1> <i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>, <8 x i32> undef)
ERROR: Unsupported instruction:   %masked.load = call <8 x i32> @llvm.masked.load.v8i32.p0v8i32(<8 x i32>* %V, i32 4, <8 x i1> undef, <8 x i32> <i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0>)
ERROR: Unsupported instruction:   %t0 = call double @llvm.powi.f64(double 3.000000e+00, i32 2)
ERROR: Unsupported instruction:   %t0 = call <2 x double> @llvm.powi.v2f64(<2 x double> <double 3.000000e+00, double 5.000000e+00>, i32 2)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double undef, double %x, double %y)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double poison, double %x, double %y)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %x, double undef, double %y)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %x, double poison, double %y)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %x, double %y, double undef)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %x, double %y, double poison)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double 0x7FF8000000001234, double 0x7FF800000000DEAD, double %x)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double 0x7FF8000000005678, double %x, double 0x7FF800000000DEAD)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %x, double 0x7FF80000AAAAAAAA, double 0x7FF800000000DEAD)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double 0xFFF0000000000000, double 0.000000e+00, double %x)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double -0.000000e+00, double 0x7FF0000000000000, double %x)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double 0x7FF0000000000000, double %notnan, double 0xFFF0000000000000)
ERROR: Unsupported instruction:   %r = call double @llvm.fmuladd.f64(double %notnan, double 0xFFF0000000000000, double 0x7FF0000000000000)
ERROR: Unsupported instruction:   %r = call float @llvm.copysign.f32(float %x, float %x)
ERROR: Unsupported instruction:   %r = call <2 x double> @llvm.copysign.v2f64(<2 x double> %x, <2 x double> %x)
ERROR: Unsupported instruction:   %r = call arcp float @llvm.copysign.f32(float %x, float %negx)
ERROR: Unsupported instruction:   %r = call arcp <2 x double> @llvm.copysign.v2f64(<2 x double> %x, <2 x double> %negx)
ERROR: Unsupported instruction:   %r = call ninf float @llvm.copysign.f32(float %negx, float %x)
ERROR: Unsupported instruction:   %r = call arcp <2 x double> @llvm.copysign.v2f64(<2 x double> %negx, <2 x double> %x)
ERROR: Unsupported instruction:   %x = musttail call i32 undef()

----------------------------------------
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 = #x84 (132, -124)

Source:
{i8, i1} %result = { any, any }

Target:
Source value: { any, any }
Target value: { #x00 (0), #x0 (0) }


------------------- SMT STATS -------------------
Num queries: 9
Num invalid: 0
Num skips:   0
Num trivial: 15 (62.5%)
Num timeout: 0 (0.0%)
Num errors:  0 (0.0%)
Num SAT:     4 (44.4%)
Num UNSAT:   5 (55.6%)

stderr:

+ : 'RUN: at line 2'
+ /home/nlopes/alive2/build/opt-alive.sh -instsimplify -S
+ /home/nlopes/llvm/build/bin/FileCheck --allow-unused-prefixes=false /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 --allow-unused-prefixes=false /home/nlopes/llvm/llvm/test/Transforms/InstSimplify/call.ll

 

<-- Back