Test Failure: Transforms/InstCombine/modular-format.ll

Test source: git

Log:

Source: <stdin>
-- 1. ModuleToFunctionPassAdaptor
-- 1. PassManager<Function> : Skipping NOP
-- 2. InstCombinePass

----------------------------------------
declare void @basic(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_basic(i32 %arg) {
init:
  store [3 x i8] { 37, 100, 0 }, ptr @.str.int, align 1
  br label %#0

#0:
  call void @basic(ptr @.str.int..., i32 %arg)
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 3. InstCombinePass

----------------------------------------
declare void @basic(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_basic(i32 %arg) {
init:
  br label %#0

#0:
  call void @basic(ptr @.str.int..., i32 %arg)
  ret void
}
=>
declare void @basic(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_basic(i32 %arg) {
init:
  br label %#0

#0:
  call void @basic(nonnull ptr @.str.int..., i32 %arg)
  ret void
}
Transformation seems to be correct!

-- 4. PassManager<Function> : Skipping NOP
-- 5. PassManager<Function> : Skipping NOP
-- 6. InstCombinePass

----------------------------------------
declare void @float_present(ptr, ...)

@.str.float = constant 3 bytes, align 1

define void @test_float_present(double %arg) {
init:
  store [3 x i8] { 37, 102, 0 }, ptr @.str.float, align 1
  br label %#0

#0:
  call void @float_present(ptr @.str.float..., double %arg)
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 7. InstCombinePass

----------------------------------------
declare void @float_present(ptr, ...)

@.str.float = constant 3 bytes, align 1

define void @test_float_present(double %arg) {
init:
  br label %#0

#0:
  call void @float_present(ptr @.str.float..., double %arg)
  ret void
}
=>
declare void @float_present(ptr, ...)

@.str.float = constant 3 bytes, align 1

define void @test_float_present(double %arg) {
init:
  br label %#0

#0:
  call void @float_present(nonnull ptr @.str.float..., double %arg)
  ret void
}
Transformation seems to be correct!

-- 8. PassManager<Function> : Skipping NOP
-- 9. PassManager<Function> : Skipping NOP
-- 10. InstCombinePass

----------------------------------------
declare void @float_absent(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_float_absent(i32 %arg) {
init:
  store [3 x i8] { 37, 100, 0 }, ptr @.str.int, align 1
  br label %#0

#0:
  call void @float_absent(ptr @.str.int..., i32 %arg)
  ret void
}
Transformation seems to be correct! (syntactically equal)

-- 11. InstCombinePass

----------------------------------------
declare void @float_absent(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_float_absent(i32 %arg) {
init:
  br label %#0

#0:
  call void @float_absent(ptr @.str.int..., i32 %arg)
  ret void
}
=>
declare void @float_present_mod(ptr, ...)

@.str.int = constant 3 bytes, align 1

define void @test_float_absent(i32 %arg) {
init:
  br label %#0

#0:
  call void @float_present_mod(nonnull ptr @.str.int..., i32 %arg)
  ret void
}
Transformation doesn't verify! (unsound)
ERROR: Source is more defined than target

Example:
i32 %arg = poison

Source:
  >> Jump to %#0
void = function did not return!

SOURCE MEMORY STATE
===================
NON-LOCAL BLOCKS:
Block 0 >	size: 0	align: 1	alloc type: 0	alive: false	address: #x0
Block 1 >	size: 3	align: 1	alloc type: 0	alive: true	address: #x4	const
Block 2 >	size: 0	align: 1	alloc type: 0	alive: true	address: #xd

Target:
  >> Jump to %#0
Function @float_present_mod triggered UB

TARGET MEMORY STATE
===================
NON-LOCAL BLOCKS:
Block 0 >	size: 0	align: 1	alloc type: 0	alive: false	address: #x0
Block 1 >	size: 3	align: 1	alloc type: 0	alive: true	address: #x4	const
Block 2 >	size: 0	align: 1	alloc type: 0	alive: true	address: #xd


Pass: InstCombinePass
Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-load-pass-plugin=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-passes=instcombine' '-S' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats'

Wrote bitcode to: "/home/nlopes/alive2/build/logs/in_XUiy2z0e_zxM9.bc"

------------------- SMT STATS -------------------
Num queries: 21
Num invalid: 0
Num skips:   0
Num trivial: 8 (27.6%)
Num timeout: 0 (0.0%)
Num errors:  0 (0.0%)
Num SAT:     15 (71.4%)
Num UNSAT:   6 (28.6%)
Alive2: Transform doesn't verify; aborting!

stderr:

Transforms/InstCombine/modular-format.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 4
/home/nlopes/alive2/build/opt-alive.sh < /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/modular-format.ll -passes=instcombine -S | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/modular-format.ll
# executed command: /home/nlopes/alive2/build/opt-alive.sh -passes=instcombine -S
# .---command stderr------------
# `-----------------------------
# error: command failed with exit status: 1
# executed command: /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/modular-format.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/InstCombine/modular-format.ll
# `-----------------------------
# error: command failed with exit status: 2

--

 

<-- Back