[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