mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-26 14:33:02 +02:00
3ac7e03604
We can only PHI translate instructions. In our attempt to PHI translate a bitcast, we attempt to translate its operand; however, the operand might be an argument or a global instead of an instruction. Benignly bail out when this happens. This fixes PR24397. Differential Revision: http://reviews.llvm.org/D11879 llvm-svn: 244418
19 lines
486 B
LLVM
19 lines
486 B
LLVM
; RUN: opt -basicaa -gvn -disable-output < %s
|
|
|
|
target triple = "x86_64-unknown-linux-gnu"
|
|
|
|
define i64 @foo(i64** %arrayidx) {
|
|
entry:
|
|
%p = load i64*, i64** %arrayidx, align 8
|
|
%cmpnull = icmp eq i64* %p, null
|
|
br label %BB2
|
|
|
|
entry2: ; No predecessors!
|
|
br label %BB2
|
|
|
|
BB2: ; preds = %entry2, %entry
|
|
%bc = bitcast i64** %arrayidx to i64*
|
|
%load = load i64, i64* %bc, align 8
|
|
ret i64 %load
|
|
}
|