[all-commits] [llvm/llvm-project] b4f519: [NFCI] DwarfEHPrepare: update DomTree in non-permi...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Mon Jan 4 14:32:00 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b4f519bddda853443405d21728154c481837e18b
      https://github.com/llvm/llvm-project/commit/b4f519bddda853443405d21728154c481837e18b
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp

  Log Message:
  -----------
  [NFCI] DwarfEHPrepare: update DomTree in non-permissive mode, when present

Being stricter will catch issues that would be just papered over
in permissive mode, and is likely faster.


  Commit: 3fb57222c4c0db02f13f32579fb83d0d488becad
      https://github.com/llvm/llvm-project/commit/3fb57222c4c0db02f13f32579fb83d0d488becad
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [NFCI] SimplifyCFG: switch to non-permissive DomTree updates, where possible

Notably, this doesn't switch *every* case, remaining cases
don't actually pass sanity checks in non-permissve mode,
and therefore require further analysis.

Note that SimplifyCFG still defaults to not preserving DomTree by default,
so this is effectively a NFC change.


  Commit: ed9de61cc3e280f84e3f0f98a49af21c7e59c4c9
      https://github.com/llvm/llvm-project/commit/ed9de61cc3e280f84e3f0f98a49af21c7e59c4c9
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp

  Log Message:
  -----------
  [SimplifyCFGPass] mergeEmptyReturnBlocks(): switch to non-permissive DomTree updates

... which requires not inserting an edge that already exists.


  Commit: a8604e3d5b7112da11508f100805d65a4eddeb33
      https://github.com/llvm/llvm-project/commit/a8604e3d5b7112da11508f100805d65a4eddeb33
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [SimplifyCFG] simplifyIndirectBr(): switch to non-permissive DomTree updates

... which requires not deleting an edge that just got deleted.


  Commit: 110b3d7855ef71a7d43a0779b2e1c32e1a31daae
      https://github.com/llvm/llvm-project/commit/110b3d7855ef71a7d43a0779b2e1c32e1a31daae
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [SimplifyCFG] SimplifyEqualityComparisonWithOnlyPredecessor(): switch to non-permissive DomTree updates

... which requires not deleting an edge that just got deleted.


  Commit: 32c47ebef18d904445ce909e4a6922ffbfe4053f
      https://github.com/llvm/llvm-project/commit/32c47ebef18d904445ce909e4a6922ffbfe4053f
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2021-01-05 (Tue, 05 Jan 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [SimplifyCFG] SimplifyCondBranchToTwoReturns(): switch to non-permissive DomTree updates

... which requires not deleting an edge that just got deleted,
because we could be dealing with a block that didn't go through
ConstantFoldTerminator() yet, and thus has a degenerate cond br
with matching true/false destinations.


Compare: https://github.com/llvm/llvm-project/compare/f67d3dbdb930...32c47ebef18d


More information about the All-commits mailing list