forked from OSchip/llvm-project
[SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC
Summary: This code was throwing away the opcode for a boolean, which was then reconstructing the opcode from that boolean. Just pass the opcode, and forget the boolean. Reviewers: srhines Reviewed By: srhines Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77100
This commit is contained in:
parent
51475e4023
commit
f086941765
|
@ -318,7 +318,7 @@ public:
|
|||
private:
|
||||
|
||||
// Calls to these functions are generated by tblgen.
|
||||
void Select_INLINEASM(SDNode *N, bool Branch);
|
||||
void Select_INLINEASM(SDNode *N);
|
||||
void Select_READ_REGISTER(SDNode *Op);
|
||||
void Select_WRITE_REGISTER(SDNode *Op);
|
||||
void Select_UNDEF(SDNode *N);
|
||||
|
|
|
@ -2239,14 +2239,14 @@ bool SelectionDAGISel::IsLegalToFold(SDValue N, SDNode *U, SDNode *Root,
|
|||
return !findNonImmUse(Root, N.getNode(), U, IgnoreChains);
|
||||
}
|
||||
|
||||
void SelectionDAGISel::Select_INLINEASM(SDNode *N, bool Branch) {
|
||||
void SelectionDAGISel::Select_INLINEASM(SDNode *N) {
|
||||
SDLoc DL(N);
|
||||
|
||||
std::vector<SDValue> Ops(N->op_begin(), N->op_end());
|
||||
SelectInlineAsmMemoryOperands(Ops, DL);
|
||||
|
||||
const EVT VTs[] = {MVT::Other, MVT::Glue};
|
||||
SDValue New = CurDAG->getNode(Branch ? ISD::INLINEASM_BR : ISD::INLINEASM, DL, VTs, Ops);
|
||||
SDValue New = CurDAG->getNode(N->getOpcode(), DL, VTs, Ops);
|
||||
New->setNodeId(-1);
|
||||
ReplaceUses(N, New.getNode());
|
||||
CurDAG->RemoveDeadNode(N);
|
||||
|
@ -2822,8 +2822,7 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
|
|||
return;
|
||||
case ISD::INLINEASM:
|
||||
case ISD::INLINEASM_BR:
|
||||
Select_INLINEASM(NodeToMatch,
|
||||
NodeToMatch->getOpcode() == ISD::INLINEASM_BR);
|
||||
Select_INLINEASM(NodeToMatch);
|
||||
return;
|
||||
case ISD::READ_REGISTER:
|
||||
Select_READ_REGISTER(NodeToMatch);
|
||||
|
|
Loading…
Reference in New Issue