[PATCH] D78106: [CSInfo][NFC] Interpret loaded parameter value separately
Vedant Kumar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 7 11:20:50 PDT 2020
vsk added inline comments.
================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:780
- // If the MI is an instruction defining one or more parameters' forwarding
- // registers, add those defines.
- auto getForwardingRegsDefinedByMI = [&](const MachineInstr &MI,
- SmallSetVector<unsigned, 4> &Defs) {
- if (MI.isDebugInstr())
- return;
-
- for (const MachineOperand &MO : MI.operands()) {
- if (MO.isReg() && MO.isDef() &&
- Register::isPhysicalRegister(MO.getReg())) {
- for (auto FwdReg : ForwardedRegWorklist)
- if (TRI->regsOverlap(FwdReg.first, MO.getReg()))
- Defs.insert(FwdReg.first);
- }
- }
- };
-
- // Search for a loading value in forwarding registers.
- for (; I != MBB->rend(); ++I) {
+ auto nextInstrInterpret = [&](const MachineInstr *CurMI,
+ FwdRegWorklist &ForwardedRegWorklist,
----------------
What does nextInstrInterpret need to capture via [&]?
================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:804
+ // Try to interpret values loaded by instruction.
+ if (!nextInstrInterpret(&(*I), ForwardedRegWorklist, Params))
+ return;
----------------
nit, the parens around *I aren't needed.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78106/new/
https://reviews.llvm.org/D78106
More information about the llvm-commits
mailing list