Test Failure: Transforms/InstSimplify/call.ll

Test source: git

Log:

Source: <stdin>

----------------------------------------
define i32 @test_abs_abs_0(i32 %x) {
%0:
  %a = abs i32 %x, 0
  %b = abs i32 %a, 0
  ret i32 %b
}
=>
define i32 @test_abs_abs_0(i32 %x) {
%0:
  %a = abs i32 %x, 0
  ret i32 %a
}
Transformation seems to be correct!


----------------------------------------
define i32 @test_abs_abs_1(i32 %x) {
%0:
  %a = abs i32 %x, 1
  %b = abs i32 %a, 0
  ret i32 %b
}
=>
define i32 @test_abs_abs_1(i32 %x) {
%0:
  %a = abs i32 %x, 1
  ret i32 %a
}
Transformation seems to be correct!


----------------------------------------
define i32 @test_abs_abs_2(i32 %x) {
%0:
  %a = abs i32 %x, 0
  %b = abs i32 %a, 1
  ret i32 %b
}
=>
define i32 @test_abs_abs_2(i32 %x) {
%0:
  %a = abs i32 %x, 0
  ret i32 %a
}
Transformation seems to be correct!


----------------------------------------
define i32 @test_abs_abs_3(i32 %x) {
%0:
  %a = abs i32 %x, 1
  %b = abs i32 %a, 1
  ret i32 %b
}
=>
define i32 @test_abs_abs_3(i32 %x) {
%0:
  %a = abs i32 %x, 1
  ret i32 %a
}
Transformation seems to be correct!


----------------------------------------
define i32 @zext_abs(i31 %x) {
%0:
  %zext = zext i31 %x to i32
  %abs = abs i32 %zext, 0
  ret i32 %abs
}
=>
define i32 @zext_abs(i31 %x) {
%0:
  %zext = zext i31 %x to i32
  ret i32 %zext
}
Transformation seems to be correct!


----------------------------------------
define <3 x i82> @lshr_abs(<3 x i82> %x) {
%0:
  %lshr = lshr <3 x i82> %x, { 1, 1, 1 }
  %abs = abs <3 x i82> %lshr, 1
  ret <3 x i82> %abs
}
=>
define <3 x i82> @lshr_abs(<3 x i82> %x) {
%0:
  %lshr = lshr <3 x i82> %x, { 1, 1, 1 }
  ret <3 x i82> %lshr
}
Transformation doesn't verify!
ERROR: Timeout


----------------------------------------
define i32 @and_abs(i32 %x) {
%0:
  %and = and i32 %x, 2147483644
  %abs = abs i32 %and, 1
  ret i32 %abs
}
=>
define i32 @and_abs(i32 %x) {
%0:
  %and = and i32 %x, 2147483644
  ret i32 %and
}
Transformation doesn't verify!
ERROR: Timeout


----------------------------------------
define <3 x i82> @select_abs(<3 x i1> %cond) {
%0:
  %sel = select <3 x i1> %cond, <3 x i82> { 0, 0, 0 }, <3 x i82> { 2147483647, 42, 1 }
  %abs = abs <3 x i82> %sel, 0
  ret <3 x i82> %abs
}
=>
define <3 x i82> @select_abs(<3 x i1> %cond) {
%0:
  %sel = select <3 x i1> %cond, <3 x i82> { 0, 0, 0 }, <3 x i82> { 2147483647, 42, 1 }
  ret <3 x i82> %sel
}
Transformation seems to be correct!


----------------------------------------
define i32 @assume_abs(i32 %x) {
%0:
  %assume = icmp sge i32 %x, 0
  assume i1 %assume
  %abs = abs i32 %x, 1
  ret i32 %abs
}
=>
define i32 @assume_abs(i32 %x) {
%0:
  %assume = icmp sge i32 %x, 0
  assume i1 %assume
  ret i32 %x
}
Transformation seems to be correct!


----------------------------------------
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: 29
Num invalid: 0
Num skips:   0
Num trivial: 44 (60.3%)
Num timeout: 2 (6.9%)
Num errors:  0 (0.0%)
Num SAT:     13 (44.8%)
Num UNSAT:   14 (48.3%)

stderr:

+ : '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

 

<-- Back