From: Evan Cheng Date: Mon, 9 Feb 2009 22:47:36 +0000 (+0000) Subject: If the target cannot issue a copy for the given source and dest registers, abort... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4ded02f8bd31bad439f78c6d485babe932a18fc5;p=oota-llvm.git 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 --- diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp index aa29d3efa77..1d369c1bc44 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp @@ -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: {