[PATCH] D116692: [SimplifyCFG] Tail-merging all blocks with `unreachable` terminator, final take

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 9 04:26:37 PST 2022


lebedev.ri updated this revision to Diff 407118.
lebedev.ri edited the summary of this revision.
lebedev.ri added a comment.

Now that the 'merge compatible invokes' is effectively done, let's revisit this.

I've reimplemented this using the approach innovated/invented there,
so now not only we don't just tail-merge everything,
not only do we only do that when sinking succeeds,
we now also handle multiple sets of mergeable calls.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116692

Files:
  llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  llvm/test/CodeGen/Thumb2/setjmp_longjmp.ll
  llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
  llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll
  llvm/test/Transforms/SimplifyCFG/implied-cond.ll
  llvm/test/Transforms/SimplifyCFG/iterative-simplify.ll
  llvm/test/Transforms/SimplifyCFG/tail-merge-assert.ll
  llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116692.407118.patch
Type: text/x-patch
Size: 45547 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220209/b248901f/attachment.bin>


More information about the llvm-commits mailing list