mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-30 02:25:19 +00:00
another couple selects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25551 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1671,6 +1671,28 @@ SDOperand SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
|
||||
ON = N; // Memoize the new node.
|
||||
return SDOperand(N, 0);
|
||||
}
|
||||
SDOperand SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
|
||||
MVT::ValueType VT, SDOperand Op1,
|
||||
SDOperand Op2, SDOperand Op3,SDOperand Op4,
|
||||
SDOperand Op5, SDOperand Op6,
|
||||
SDOperand Op7, SDOperand Op8) {
|
||||
// If an identical node already exists, use it.
|
||||
std::vector<SDOperand> OpList;
|
||||
OpList.push_back(Op1); OpList.push_back(Op2); OpList.push_back(Op3);
|
||||
OpList.push_back(Op4); OpList.push_back(Op5); OpList.push_back(Op6);
|
||||
OpList.push_back(Op7); OpList.push_back(Op8);
|
||||
SDNode *&ON = OneResultNodes[std::make_pair(ISD::BUILTIN_OP_END+TargetOpc,
|
||||
std::make_pair(VT, OpList))];
|
||||
if (ON) return SDOperand(ON, 0);
|
||||
|
||||
RemoveNodeFromCSEMaps(N);
|
||||
N->MorphNodeTo(ISD::BUILTIN_OP_END+TargetOpc);
|
||||
N->setValueTypes(VT);
|
||||
N->setOperands(Op1, Op2, Op3, Op4, Op5, Op6, Op7, Op8);
|
||||
|
||||
ON = N; // Memoize the new node.
|
||||
return SDOperand(N, 0);
|
||||
}
|
||||
|
||||
SDOperand SelectionDAG::SelectNodeTo(SDNode *N, unsigned TargetOpc,
|
||||
MVT::ValueType VT1, MVT::ValueType VT2,
|
||||
|
Reference in New Issue
Block a user