[PATCH] D121585: [InstCombine] Sink instructions with multiple users in a successor block.

weiwei via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 14 04:05:04 PDT 2022


wwei created this revision.
wwei added reviewers: nikic, reames, anna, mkazantsev, Tyker.
wwei added a project: LLVM.
Herald added subscribers: wenlei, zzheng, hiraditya.
Herald added a project: All.
wwei requested review of this revision.
Herald added a subscriber: llvm-commits.

This patch tries to sink instructions when they are only used in a successor block.

This is a further enhancement patch based on Anna's commit:
D109700 <https://reviews.llvm.org/D109700>, which allows sinking an instruction having multiple uses in a single user.

In this patch, sink instructions with multiple users in a single successor block will be supported.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D121585

Files:
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  llvm/test/Transforms/InstCombine/intptr7.ll
  llvm/test/Transforms/InstCombine/lifetime-no-null-opt.ll
  llvm/test/Transforms/InstCombine/lifetime.ll
  llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
  llvm/test/Transforms/InstCombine/pr33689_same_bitwidth.ll
  llvm/test/Transforms/InstCombine/shift-by-signext.ll
  llvm/test/Transforms/InstCombine/sink_instruction.ll
  llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
  llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
  llvm/test/Transforms/LoopVectorize/X86/small-size.ll
  llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
  llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
  llvm/test/Transforms/LoopVectorize/induction.ll
  llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
  llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
  llvm/test/Transforms/PGOProfile/chr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121585.415048.patch
Type: text/x-patch
Size: 157789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220314/5ee45899/attachment-0001.bin>


More information about the llvm-commits mailing list