[PATCH] D130374: [Passes] add a tail-call-elim pass near the end of the function simplification pipeline

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 24 17:38:25 PDT 2022


spatel updated this revision to Diff 447156.
spatel added a comment.
Herald added subscribers: kosarev, kerbowa, jvesely, nemanjai.

Patch updated:
Changed to invoke TailCallElim much later. I put it just before the last SimplifyCFG and some late passes that I'm not familiar with - just in case they could benefit. 
This mostly picks up vectorizer-related intrinsics in test diffs and doesn't seem to have any downside. The time cost even looks slightly better (not sure where the noise level is in these results, but we're probably not far off):
https://llvm-compile-time-tracker.com/index.php?config=NewPM-O3&stat=instructions&remote=rotateright


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

https://reviews.llvm.org/D130374

Files:
  llvm/lib/Passes/PassBuilderPipelines.cpp
  llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-thinlto-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
  llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
  llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
  llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
  llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
  llvm/test/Transforms/PhaseOrdering/X86/ctlz-loop.ll
  llvm/test/Transforms/PhaseOrdering/X86/loop-idiom-vs-indvars.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll
  llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
  llvm/test/Transforms/PhaseOrdering/memset-tail.ll
  llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
  llvm/test/Transforms/PhaseOrdering/minmax.ll
  llvm/test/Transforms/PhaseOrdering/single-iteration-loop-sroa.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130374.447156.patch
Type: text/x-patch
Size: 26588 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220725/2a6d7386/attachment.bin>


More information about the llvm-commits mailing list