Test Failure: Transforms/InstCombine/load-bitcast64.ll

Test source: git

Log:

Source: <stdin>

----------------------------------------
define * @test1(* %x) {
%entry:
  %a = bitcast * %x to *
  %b = load i64, * %a, align 4
  %c = int2ptr i64 %b to *
  ret * %c
}
=>
define * @test1(* %x) {
%entry:
  %0 = bitcast * %x to *
  %b1 = load *, * %0, align 4
  ret * %b1
}
Transformation doesn't verify!
ERROR: Target is more poisonous than source

Example:
* %x = pointer(non-local, block_id=2, offset=3)

Source:
* %a = pointer(non-local, block_id=2, offset=3)
i64 %b = #x0000000100000001 (4294967297)
* %c = (invalid expr)

SOURCE MEMORY STATE
===================
NON-LOCAL BLOCKS:
Block 0 >	size: 0	align: 64	alloc type: 0	address: 0
Block 1 >	size: 166613392572807615	align: 2	alloc type: 0	address: 4611686018427387904
Block 2 >	size: 2305843009213693960	align: 2	alloc type: 0	address: 1
Block 3 >	size: 0	align: 2	alloc type: 0	address: 1

Target:
* %0 = pointer(non-local, block_id=2, offset=3)
* %b1 = poison
Source value: (invalid expr)
Target value: poison


------------------- SMT STATS -------------------
Num queries: 2
Num invalid: 0
Num skips:   0
Num trivial: 1 (33.3%)
Num timeout: 0 (0.0%)
Num errors:  0 (0.0%)
Num SAT:     2 (100.0%)
Num UNSAT:   0 (0.0%)

stderr:

+ : 'RUN: at line 2'
+ /home/nlopes/alive2/scripts/opt-alive.sh -instcombine -S
+ /home/nlopes/llvm/build/bin/FileCheck /home/nlopes/llvm/llvm/test/Transforms/InstCombine/load-bitcast64.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/load-bitcast64.ll

 

<-- Back