[llvm] [SelectionDAG] use HandleSDNode instead of SDValue during SelectInlineAsmMemoryOperands (PR #85081)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 8 22:28:14 PDT 2024


================
@@ -2111,24 +2111,27 @@ bool SelectionDAGISel::CheckOrMask(SDValue LHS, ConstantSDNode *RHS,
 /// by tblgen.  Others should not call it.
 void SelectionDAGISel::SelectInlineAsmMemoryOperands(std::vector<SDValue> &Ops,
                                                      const SDLoc &DL) {
-  std::vector<SDValue> InOps;
-  std::swap(InOps, Ops);
+  // change the vector of SDValue into a list of SDNodeHandle for x86 might call
+  // replaceAllUses when matching address
 
-  Ops.push_back(InOps[InlineAsm::Op_InputChain]); // 0
-  Ops.push_back(InOps[InlineAsm::Op_AsmString]);  // 1
-  Ops.push_back(InOps[InlineAsm::Op_MDNode]);     // 2, !srcloc
-  Ops.push_back(InOps[InlineAsm::Op_ExtraInfo]);  // 3 (SideEffect, AlignStack)
+  std::list<HandleSDNode> handles;
----------------
topperc wrote:

Variable names should be capitalized

https://github.com/llvm/llvm-project/pull/85081


More information about the llvm-commits mailing list