[PATCH] D156552: [MachineScheduler] Track physical register dependencies per-regunit

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 28 09:57:11 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/lib/CodeGen/ScheduleDAGInstrs.cpp:225
     for (const MachineBasicBlock *Succ : BB->successors()) {
       for (const auto &LI : Succ->liveins()) {
+        for (MCRegUnit Unit : TRI->regunits(LI.PhysReg)) {
----------------
liveins should really use regunits too


================
Comment at: llvm/lib/CodeGen/ScheduleDAGInstrs.cpp:247
   // "fake" operands added by regalloc.
-  const MCInstrDesc &DefMIDesc = SU->getInstr()->getDesc();
-  bool ImplicitPseudoDef = (OperIdx >= DefMIDesc.getNumOperands() &&
-                            !DefMIDesc.hasImplicitDefOfPhysReg(Reg));
-  for (MCRegAliasIterator Alias(Reg, TRI, true); Alias.isValid(); ++Alias) {
-    for (Reg2SUnitsMap::iterator I = Uses.find(*Alias); I != Uses.end(); ++I) {
+  const MCInstrDesc *DefMIDesc = &SU->getInstr()->getDesc();
+  bool ImplicitPseudoDef = (OperIdx >= DefMIDesc->getNumOperands() &&
----------------
Don't see why this isn't a reference anymore


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156552/new/

https://reviews.llvm.org/D156552



More information about the llvm-commits mailing list