mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-28 23:43:25 +00:00
9585c546b9
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244418 91177308-0d34-0410-b5e6-96231b3b80d8
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
|
|
}
|