[PATCH] D104597: [SimplifyCFG] Tail-merging all blocks with `ret` terminator

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 06:42:08 PDT 2021


lebedev.ri updated this revision to Diff 353951.
lebedev.ri added a comment.

In D104597#2834705 <https://reviews.llvm.org/D104597#2834705>, @rnk wrote:

> I think this is reasonable: later cfg simplifications will tail merge the preceding instructions and delete dbg.values appropriately. I didn't hit "accept" since the tests don't all pass yet.

Thank you for taking a look!
This is a much warmer reaction than i was expecting.

Autogenerated a few more tests. Still a few more to go.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104597

Files:
  llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-condbr-lower-tree.ll
  llvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
  llvm/test/CodeGen/AArch64/addsub.ll
  llvm/test/CodeGen/AArch64/branch-relax-alignment.ll
  llvm/test/CodeGen/AArch64/branch-relax-asm.ll
  llvm/test/CodeGen/AArch64/branch-relax-bcc.ll
  llvm/test/CodeGen/AArch64/branch-relax-cbz.ll
  llvm/test/CodeGen/AArch64/cgp-usubo.ll
  llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
  llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
  llvm/test/CodeGen/AArch64/cond-br-tuning.ll
  llvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
  llvm/test/CodeGen/AArch64/implicit-null-check.ll
  llvm/test/CodeGen/AArch64/ldst-opt-after-block-placement.ll
  llvm/test/CodeGen/AArch64/ldst-paired-aliasing.ll
  llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
  llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
  llvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
  llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll
  llvm/test/CodeGen/AArch64/swifterror.ll
  llvm/test/CodeGen/AArch64/use-cr-result-of-dom-icmp-st.ll
  llvm/test/CodeGen/AArch64/vec-extract-branch.ll
  llvm/test/CodeGen/ARM/ifcvt-callback.ll
  llvm/test/CodeGen/ARM/ifcvt-iter-indbr.ll
  llvm/test/CodeGen/ARM/ifcvt1.ll
  llvm/test/CodeGen/ARM/ifcvt3.ll
  llvm/test/CodeGen/ARM/ifcvt5.ll
  llvm/test/CodeGen/ARM/ifcvt6.ll
  llvm/test/CodeGen/ARM/load-global2.ll
  llvm/test/CodeGen/ARM/smml.ll
  llvm/test/CodeGen/ARM/speculation-hardening-sls.ll
  llvm/test/CodeGen/ARM/switch-minsize.ll
  llvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
  llvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
  llvm/test/CodeGen/Thumb2/thumb2-ifcvt1.ll
  llvm/test/CodeGen/Thumb2/tpsoft.ll
  llvm/test/CodeGen/Thumb2/v8_IT_4.ll
  llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
  llvm/test/Transforms/PGOProfile/chr.ll
  llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
  llvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
  llvm/test/Transforms/PruneEH/ipo-nounwind.ll
  llvm/test/Transforms/SimplifyCFG/DeadSetCC.ll
  llvm/test/Transforms/SimplifyCFG/FoldValueComparisonIntoPredecessors-domtree-preservation-edgecase-2.ll
  llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
  llvm/test/Transforms/SimplifyCFG/HoistCode.ll
  llvm/test/Transforms/SimplifyCFG/basictest.ll
  llvm/test/Transforms/SimplifyCFG/branch-fold.ll
  llvm/test/Transforms/SimplifyCFG/branch-phi-thread.ll
  llvm/test/Transforms/SimplifyCFG/duplicate-landingpad.ll
  llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-two-preds-cost.ll
  llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
  llvm/test/Transforms/SimplifyCFG/guards.ll
  llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
  llvm/test/Transforms/SimplifyCFG/indirectbr.ll
  llvm/test/Transforms/SimplifyCFG/invoke.ll
  llvm/test/Transforms/SimplifyCFG/pr39807.ll
  llvm/test/Transforms/SimplifyCFG/pr46638.ll
  llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
  llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll
  llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll
  llvm/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
  llvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
  llvm/test/Transforms/SimplifyCFG/switch_create.ll
  llvm/test/Transforms/SimplifyCFG/switch_switch_fold.ll
  llvm/test/Transforms/SimplifyCFG/switch_thread.ll
  llvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104597.353951.patch
Type: text/x-patch
Size: 195163 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210623/c36d3637/attachment-0001.bin>


More information about the llvm-commits mailing list