[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 11:33:03 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/lib/CodeGen/ScheduleDAGInstrs.cpp:226
       for (const auto &LI : Succ->liveins()) {
-        if (!Uses.contains(LI.PhysReg))
-          Uses.insert(PhysRegSUOper(&ExitSU, -1, LI.PhysReg));
+        for (MCRegUnit Unit : TRI->regunits(LI.PhysReg)) {
+          if (!Uses.contains(Unit))
----------------
arsenm wrote:
> foad wrote:
> > arsenm wrote:
> > > This can refine to check the lanemask too
> > Is there a neat way to iterate regunits for a RegisterMaskPair?
> Not that I know off the top of my head. Should at least add a fixme here
I think you need to use MCRegUnitMaskIterator


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