[PATCH] D76069: [ARM][MachineOutliner] Add default mode.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 20 21:16:26 PDT 2020
efriedma added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp:6083
+ if (!MBB.isLiveIn(ARM::LR))
+ MBB.addLiveIn(ARM::LR);
// Can we save to a register?
----------------
In general, calling addLiveIn(LR) on the current block isn't sufficient to update the liveness correctly. If LR is live-in in the current block, it has to be live-out of that block's predecessors, which means it has to be live-in to the current block's predecessors. See D78586.
Actually, can the isLiveIn() check fail? if LR isn't live-in, wouldn't we choose MachineOutlinerNoLRSave? Or is it possible to hit some weird case where LR is live, but not explicitly listed in the live-in list?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76069/new/
https://reviews.llvm.org/D76069
More information about the llvm-commits
mailing list