[PATCH] D139275: [SimplifyCFG] `FoldBranchToCommonDest()`: deal with mismatched IV's in PHI's in common successor block

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 14:40:52 PST 2022


lebedev.ri updated this revision to Diff 480252.
lebedev.ri marked an inline comment as done.
lebedev.ri added a comment.
Herald added subscribers: pengfei, kbarton, nemanjai.

@arsenm thank you for taking a look!
I believe this addresses your concern.

I've tried to take even more cautious approach here,
because we *do* want this xform to happen,
but at the same time, if we produce something silly,
we won't undo it soon enough, so it seems like we should
pay extra care to canonicalize all the "selects" we "form".


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139275

Files:
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  llvm/test/CodeGen/AArch64/rm_redundant_cmp.ll
  llvm/test/CodeGen/AArch64/tailmerging_in_mbp.ll
  llvm/test/CodeGen/AArch64/typepromotion-cost.ll
  llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll
  llvm/test/CodeGen/PowerPC/pr48527.ll
  llvm/test/CodeGen/X86/loop-search.ll
  llvm/test/Transforms/InstCombine/unused-nonnull.ll
  llvm/test/Transforms/LICM/hoist-phi.ll
  llvm/test/Transforms/LICM/sinking.ll
  llvm/test/Transforms/LoopStrengthReduce/AArch64/small-constant.ll
  llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
  llvm/test/Transforms/LoopUnroll/scevunroll.ll
  llvm/test/Transforms/LoopUnroll/unroll-after-peel.ll
  llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
  llvm/test/Transforms/SimplifyCFG/2008-07-13-InfLoopMiscompile.ll
  llvm/test/Transforms/SimplifyCFG/X86/SpeculativeExec.ll
  llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
  llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-phis.ll
  llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
  llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
  llvm/test/Transforms/SimplifyCFG/switch-on-const-select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139275.480252.patch
Type: text/x-patch
Size: 103120 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221205/1136eb30/attachment.bin>


More information about the llvm-commits mailing list