mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 06:32:09 +00:00
If the target cannot issue a copy for the given source and dest registers, abort instead of silently continue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64184 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1de17d574c
commit
4ded02f8bd
@ -125,10 +125,11 @@ void ScheduleDAGSDNodes::EmitCopyFromReg(SDNode *Node, unsigned ResNo,
|
||||
} else {
|
||||
// Create the reg, emit the copy.
|
||||
VRBase = MRI.createVirtualRegister(DstRC);
|
||||
bool Emitted =
|
||||
TII->copyRegToReg(*BB, End, VRBase, SrcReg, DstRC, SrcRC);
|
||||
Emitted = Emitted; // Silence compiler warning.
|
||||
assert(Emitted && "Unable to issue a copy instruction!");
|
||||
bool Emitted = TII->copyRegToReg(*BB, End, VRBase, SrcReg, DstRC, SrcRC);
|
||||
if (!Emitted) {
|
||||
cerr << "Unable to issue a copy instruction!\n";
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
SDValue Op(Node, ResNo);
|
||||
@ -529,7 +530,11 @@ void ScheduleDAGSDNodes::EmitNode(SDNode *Node, bool IsClone, bool IsCloned,
|
||||
else
|
||||
DstTRC = TRI->getPhysicalRegisterRegClass(DestReg,
|
||||
Node->getOperand(1).getValueType());
|
||||
TII->copyRegToReg(*BB, End, DestReg, SrcReg, DstTRC, SrcTRC);
|
||||
bool Emitted = TII->copyRegToReg(*BB, End, DestReg, SrcReg, DstTRC, SrcTRC);
|
||||
if (!Emitted) {
|
||||
cerr << "Unable to issue a copy instruction!\n";
|
||||
abort();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISD::CopyFromReg: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user