[PATCH] D83088: Introduce CfgTraits abstraction

Nicolai Hähnle via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 10 09:01:46 PDT 2020


nhaehnle marked an inline comment as done.
nhaehnle added inline comments.


================
Comment at: llvm/include/llvm/CodeGen/MachineCfgTraits.h:136-138
+          // Prefer to avoid support for bundled instructions as long as we
+          // don't really need it.
+          assert(!m_instr->isBundle());
----------------
arsenm wrote:
> nhaehnle wrote:
> > arsenm wrote:
> > > I've been thinking about more aggressively using bundles around call sites to handle waterfall looping around divergent calls with SGPR arguments
> > Hmm, so what's the correct iteration behavior in the presence of bundles? Iterate over all instructions in the bundle (which is that MachineBasicBlock::instr_iterator does) and only iterate over explicit defs? I think that's what makes the most sense, and what I'm going with for now...
> I don't think this actually needs to specially consider bundles. The BUNDLE itself is supposed to have the uses/defs that cover all the uses/defs inside the bundle. You shouldn't need to worry about the individual instructions
This is what should be there with the last change :)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83088





More information about the cfe-commits mailing list