Add the use of register r for outlined function when register r is live in and define...
authorJin Lin <jinl@uber.com>
Wed, 3 Mar 2021 20:06:42 +0000 (12:06 -0800)
committerJin Lin <jinl@uber.com>
Wed, 3 Mar 2021 23:14:11 +0000 (15:14 -0800)
commit7c2192b277e6050f30a1582efe5217b1ee904b1b
treec19e174f04bf6f8662bd08b75b04506c19778d96
parent64be3fcb7a2ece5aa28296b1e53b5ae448bd1713
Add the use of register r for outlined function when register r is live in and defined later.

The compiler needs to mark register $x0 as live in for the following case.

    $x1 = ADDXri $sp, 16, 0
    BL @spam, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit killed $x1, implicit-def $sp, implicit-def dead $x0

Reviewed By: paquette

Differential Revision: https://reviews.llvm.org/D95267
llvm/lib/CodeGen/MachineOutliner.cpp
llvm/test/CodeGen/AArch64/machine-outliner-side-effect-2.mir [new file with mode: 0644]