[all-commits] [llvm/llvm-project] ded64d: [DTU] fix dominator tree update eliding reachable ...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Wed Mar 4 07:12:49 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ded64d2417d4394ae47d69653a5798a3a36dd9c7
      https://github.com/llvm/llvm-project/commit/ded64d2417d4394ae47d69653a5798a3a36dd9c7
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-03-04 (Wed, 04 Mar 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp

  Log Message:
  -----------
  [DTU] fix dominator tree update eliding reachable nodes (#177683)

The initial CFG looks like this:

![initial_graph.png](https://app.graphite.com/user-attachments/assets/1e3109c5-7c02-4c81-b9b3-fa6a25964e00.png)

After inlining, it looks like this:

![after_inlining.png](https://app.graphite.com/user-attachments/assets/10906dc6-1865-4125-8cd5-c2af69191858.png)

It should be sufficient to add and remove the edges shown in the test, i.e.:
- add: `bb3->bb1.i` and `bb3->bb2.i`
- remove: `bb3->bb4`, `bb3->bb5` and `bb5->bb8`

New nodes, like `bb5.body`, get discovered when adding bb3->bb2.i. See the "StepByStep" variant of the test). Without the fix in this patch, however, `bb5.body` gets elided when the deleted edges get taken into account, and `DT` is left invalid.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list