forked from OSchip/llvm-project
parent
f221c261f3
commit
12fca42062
|
@ -313,39 +313,6 @@ SDOperand IA64DAGToDAGISel::Select(SDOperand Op) {
|
|||
CurDAG->getTargetFrameIndex(FI, MVT::i64));
|
||||
}
|
||||
|
||||
case ISD::TokenFactor: {
|
||||
SDOperand New;
|
||||
if (N->getNumOperands() == 2) {
|
||||
SDOperand Op0 = Select(N->getOperand(0));
|
||||
SDOperand Op1 = Select(N->getOperand(1));
|
||||
New = CurDAG->getNode(ISD::TokenFactor, MVT::Other, Op0, Op1);
|
||||
} else {
|
||||
std::vector<SDOperand> Ops;
|
||||
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i)
|
||||
Ops.push_back(Select(N->getOperand(i)));
|
||||
New = CurDAG->getNode(ISD::TokenFactor, MVT::Other, Ops);
|
||||
}
|
||||
|
||||
CodeGenMap[Op] = New;
|
||||
return New;
|
||||
}
|
||||
case ISD::CopyFromReg: {
|
||||
SDOperand Chain = Select(N->getOperand(0));
|
||||
if (Chain == N->getOperand(0)) return Op; // No change
|
||||
SDOperand New = CurDAG->getCopyFromReg(Chain,
|
||||
cast<RegisterSDNode>(N->getOperand(1))->getReg(), N->getValueType(0));
|
||||
return New.getValue(Op.ResNo);
|
||||
}
|
||||
case ISD::CopyToReg: {
|
||||
SDOperand Chain = Select(N->getOperand(0));
|
||||
SDOperand Reg = N->getOperand(1);
|
||||
SDOperand Val = Select(N->getOperand(2));
|
||||
SDOperand New = CurDAG->getNode(ISD::CopyToReg, MVT::Other,
|
||||
Chain, Reg, Val);
|
||||
CodeGenMap[Op] = New;
|
||||
return New;
|
||||
}
|
||||
|
||||
case ISD::GlobalAddress: {
|
||||
GlobalValue *GV = cast<GlobalAddressSDNode>(N)->getGlobal();
|
||||
SDOperand GA = CurDAG->getTargetGlobalAddress(GV, MVT::i64);
|
||||
|
|
Loading…
Reference in New Issue