[all-commits] [llvm/llvm-project] 5f0bcc: [CodeGen][ShrinkWrap] Split restore point

sushgokh via All-commits all-commits at lists.llvm.org
Mon Apr 10 23:29:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5f0bccc3d1a74111458c71f009817c9995f4bf83
      https://github.com/llvm/llvm-project/commit/5f0bccc3d1a74111458c71f009817c9995f4bf83
  Author: sgokhale <sgokhale at nvidia.com>
  Date:   2023-04-11 (Tue, 11 Apr 2023)

  Changed paths:
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
    A llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
    M llvm/test/CodeGen/ARM/ParallelDSP/multi-use-loads.ll
    M llvm/test/CodeGen/ARM/ssat-unroll-loops.ll
    M llvm/test/CodeGen/LoongArch/jump-table.ll
    M llvm/test/CodeGen/PowerPC/common-chain-aix32.ll
    M llvm/test/CodeGen/PowerPC/common-chain.ll
    M llvm/test/CodeGen/PowerPC/loop-instr-form-prepare.ll
    M llvm/test/CodeGen/PowerPC/lsr-profitable-chain.ll
    M llvm/test/CodeGen/PowerPC/shrink-wrap.ll
    M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
    M llvm/test/CodeGen/RISCV/aext-to-sext.ll
    M llvm/test/CodeGen/RISCV/fli-licm.ll
    M llvm/test/CodeGen/RISCV/jumptable.ll
    M llvm/test/CodeGen/Thumb/thumb-shrink-wrapping.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/inlineasm.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/memcall.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-tailpred.ll
    M llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll
    M llvm/test/CodeGen/Thumb2/mve-scatter-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-tailpred-nonzerostart.ll
    M llvm/test/CodeGen/Thumb2/mve-vmull-loop.ll
    M llvm/test/CodeGen/X86/negative-stride-fptosi-user.ll
    M llvm/test/CodeGen/X86/pr44412.ll
    M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll

  Log Message:
  -----------
  [CodeGen][ShrinkWrap] Split restore point

This patch splits a restore point to allow it to only post-dominate blocks reachable by use
or def of CSRs(Callee Saved Registers)/FI(Frame Index).

Benchmarking this on SPEC2017, this gives around 4% improvement on povray and no significant change
for others.

Co-authored-by: junbuml

Differential Revision: https://reviews.llvm.org/D42600




More information about the All-commits mailing list