[PATCH] D57054: [MachineOutliner][ARM][RFC] Add Machine Outliner support for ARM
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 23 13:06:05 PST 2019
efriedma added inline comments.
================
Comment at: lib/Target/ARM/ARMBaseInstrInfo.cpp:5302
+ // tail call all of the candidates.
+ if (Subtarget.supportsTailCall()
+ && RepeatedSequenceLocs[0].back()->isTerminator()) {
----------------
yroux wrote:
> efriedma wrote:
> > supportsTailCall is more general than you need for MachineOutlinerTailCall; on Thumb1, you can outline a tail call if LR isn't live-in (if the terminator is a tPOP_RET etc.).
> Indeed, I don't even understand why SupportsTailCall is defined as !isThumb() || hasV8MBaselineOps();
supportsTailCall is really about whether isel supports generating a tail call, not what the underlying instruction set supports. See also https://reviews.llvm.org/D49465 .
hasV8MBaselineOps() is the target feature that determines whether t2B is supported, in case that wasn't obvious.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57054/new/
https://reviews.llvm.org/D57054
More information about the llvm-commits
mailing list