[PATCH] D83088: Introduce CfgTraits abstraction

Matt Arsenault via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 6 13:51:41 PDT 2020


arsenm 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());
----------------
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


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