[PATCH] D67974: [Dominators][AMDGPU] Don't use virtual exit node in findNearestCommonDominator

Jakub Kuderski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 11:04:50 PDT 2019


kuhar created this revision.
kuhar added reviewers: tstellar, tpr, nhaehnle, arsenm, NutshellySima.
kuhar added a project: AMDGPU.
Herald added subscribers: hiraditya, t-tye, dstuttard, yaxunl, wdng, jvesely, kzhuravl.
Herald added a reviewer: grosser.
Herald added a project: LLVM.

This patch fixes a bug that originated from passing a virtual exit block (nullptr) to `MachinePostDominatorTee::findNearestCommonDominator` and resulted in assertion failures inside its callee.

The patch introduces a new function in PDT that given a list of `MachineBasicBlock`s finds their NCD. The new overload of `findNearestCommonDominator` handles virtual root correctly.

Note that similar handling of virtual root nodes is not necessary in (forward) `DominatorTree`s, as right now they don't use virtual roots.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D67974

Files:
  llvm/include/llvm/CodeGen/MachinePostDominators.h
  llvm/lib/CodeGen/MachinePostDominators.cpp
  llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67974.221562.patch
Type: text/x-patch
Size: 4044 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190924/3ea1c222/attachment.bin>


More information about the llvm-commits mailing list