mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-19 18:24:05 +00:00
Don't crash when a glue node contains an internal CopyToReg
This is necessary to support the existing ppc lowering code for indirect calls. Fixes PR12071. llvm-svn: 151373
This commit is contained in:
parent
30c1ce0834
commit
8c2c90c035
@ -766,6 +766,9 @@ EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned,
|
||||
if (F->getOpcode() == ISD::CopyFromReg) {
|
||||
UsedRegs.push_back(cast<RegisterSDNode>(F->getOperand(1))->getReg());
|
||||
continue;
|
||||
} else if (F->getOpcode() == ISD::CopyToReg) {
|
||||
// Skip CopyToReg nodes that are internal to the glue chain.
|
||||
continue;
|
||||
}
|
||||
// Collect declared implicit uses.
|
||||
const MCInstrDesc &MCID = TII->get(F->getMachineOpcode());
|
||||
|
12
test/CodeGen/PowerPC/ppc64-ind-call.ll
Normal file
12
test/CodeGen/PowerPC/ppc64-ind-call.ll
Normal file
@ -0,0 +1,12 @@
|
||||
; RUN: llc < %s -march=ppc64 | FileCheck %s
|
||||
target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"
|
||||
target triple = "powerpc64-unknown-linux-gnu"
|
||||
|
||||
define void @test1() {
|
||||
entry:
|
||||
%call.i75 = call zeroext i8 undef(i8* undef, i8 zeroext 10)
|
||||
unreachable
|
||||
}
|
||||
|
||||
; CHECK: @test1
|
||||
|
Loading…
x
Reference in New Issue
Block a user