[PATCH] D49465: [ARM] Enable tail calls for all Thumb1 targets.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 7 17:07:12 PDT 2018
efriedma updated this revision to Diff 159626.
efriedma edited the summary of this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
Herald added a subscriber: mgorny.
Updated to use a pass after isel to convert a call in tail position to a tail-call, rather than try to do the opposite in frame lowering. I'm not completely happy with this; the pass is a lot more code than I'd really like. But I don't have any better ideas.
Still need to look more at the CodeGenPrepare tail duplication issue; we might need to suppress the transform for Thumb1, even if that means missing some cases we could tail-call. And I probably need some more testcases.
Repository:
rL LLVM
https://reviews.llvm.org/D49465
Files:
lib/Target/ARM/ARM.h
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMSubtarget.cpp
lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/ARM/CMakeLists.txt
lib/Target/ARM/Thumb1TailCallOptimizer.cpp
test/CodeGen/ARM/thumb_indirect_calls.ll
test/CodeGen/ARM/v8m-tail-call.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49465.159626.patch
Type: text/x-patch
Size: 22192 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180808/649c9bd4/attachment.bin>
More information about the llvm-commits
mailing list