OSDN Git Service

[MachineOutliner] Teach outliner to set live-ins
authorEli Friedman <efriedma@quicinc.com>
Wed, 22 Apr 2020 00:40:41 +0000 (17:40 -0700)
committerEli Friedman <efriedma@quicinc.com>
Wed, 22 Apr 2020 21:19:26 +0000 (14:19 -0700)
commit1a78b0bd3829381e7be627b459c22083bf4671d4
tree852144562cb6e25f36e812093487a19623171c9a
parent3ceea67c091d556ec672e65ec4e9d72997e76807
[MachineOutliner] Teach outliner to set live-ins

Preserving liveness can be useful even late in the pipeline, if we're
doing substantial optimization work afterwards. (See, for example,
D76065.) Teach MachineOutliner how to correctly set live-ins on the
basic block in outlined functions.

Differential Revision: https://reviews.llvm.org/D78605
llvm/lib/CodeGen/MachineOutliner.cpp
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
llvm/test/CodeGen/AArch64/machine-outliner-calls.mir
llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir