[PATCH] D53706: [RecursionStackElimination]: Pass to eliminate recursions

Martin Elshuber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 4 07:19:46 PST 2018


marels updated this revision to Diff 176633.
marels added a comment.

Changes

- Renamed Pass to MultiTailCallElimination as it seems more fitting
- Removed Unnecessary Marker Implementation
- Changed Code Generation quite a bit
- Add heuristic allowing to skip transformation if not profitable
- Add Test Cases
- Enable pass only for O3 <https://reviews.llvm.org/owners/package/3/>

I am still not happy with the pipeline integration. A can only reasonable test this for AArch64 and want to enable it only for this target. Other machines might need different heuristics.

Any Ideas on this?


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

https://reviews.llvm.org/D53706

Files:
  include/llvm-c/Transforms/Scalar.h
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Scalar.h
  include/llvm/Transforms/Scalar/MultiTailCallElimination.h
  lib/Passes/PassBuilder.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/MultiTailCallElimination.cpp
  lib/Transforms/Scalar/Scalar.cpp
  test/Transforms/MultiTailCallElimination/MultiTailCallElimination.ll
  test/Transforms/MultiTailCallElimination/lit.local.cfg

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53706.176633.patch
Type: text/x-patch
Size: 135822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181204/a570aea6/attachment.bin>


More information about the llvm-commits mailing list