[llvm] [RISCV]Enable framework to resolve encoding conflicts among vendor-specific CSRs (PR #97287)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 1 09:08:26 PDT 2024


================
@@ -121,11 +121,14 @@ void RISCVInstPrinter::printCSRSystemRegister(const MCInst *MI, unsigned OpNo,
                                               const MCSubtargetInfo &STI,
                                               raw_ostream &O) {
   unsigned Imm = MI->getOperand(OpNo).getImm();
-  auto SysReg = RISCVSysReg::lookupSysRegByEncoding(Imm);
-  if (SysReg && SysReg->haveRequiredFeatures(STI.getFeatureBits()))
-    markup(O, Markup::Register) << SysReg->Name;
-  else
-    markup(O, Markup::Register) << formatImm(Imm);
+  auto Range = RISCVSysReg::lookupSysRegByEncoding(Imm);
+  for (auto &It : Range) {
----------------
topperc wrote:

`It` is a bad name, it isn't an iterator. It's a reference to a `SysReg` object.

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


More information about the llvm-commits mailing list