mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
[PowerPC] Don't list R11 as a patchpoint scratch register
R11's status is the same under both the PPC64 ELF V1 and V2 ABIs: it is reserved for use as an "environment pointer" for compilation models that require such a thing. We don't, we also don't need a second scratch register, and because we support only "local" patchpoint call targets, we might as well let R11 be used for anyregcc patchpoints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226369 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aaac99269f
commit
962cff0c08
@ -9910,16 +9910,8 @@ PPCTargetLowering::getScratchRegisters(CallingConv::ID) const {
|
||||
// site. Hence we include LR in the scratch registers, which are in turn added
|
||||
// as implicit-defs for stackmaps and patchpoints. The same reasoning applies
|
||||
// to CTR, which is used by any indirect call.
|
||||
if (Subtarget.isELFv2ABI()) {
|
||||
static const MCPhysReg ScratchRegs[] = {
|
||||
PPC::X12, PPC::LR8, PPC::CTR8, 0
|
||||
};
|
||||
|
||||
return ScratchRegs;
|
||||
}
|
||||
|
||||
static const MCPhysReg ScratchRegs[] = {
|
||||
PPC::X12, PPC::X11, PPC::LR8, PPC::CTR8, 0
|
||||
PPC::X12, PPC::LR8, PPC::CTR8, 0
|
||||
};
|
||||
|
||||
return ScratchRegs;
|
||||
|
@ -26,9 +26,9 @@ target triple = "powerpc64-unknown-linux-gnu"
|
||||
; CHECK-NEXT: .quad property_access3
|
||||
; CHECK-NEXT: .quad 128
|
||||
; CHECK-NEXT: .quad anyreg_test1
|
||||
; CHECK-NEXT: .quad 160
|
||||
; CHECK-NEXT: .quad 144
|
||||
; CHECK-NEXT: .quad anyreg_test2
|
||||
; CHECK-NEXT: .quad 160
|
||||
; CHECK-NEXT: .quad 144
|
||||
; CHECK-NEXT: .quad patchpoint_spilldef
|
||||
; CHECK-NEXT: .quad 256
|
||||
; CHECK-NEXT: .quad patchpoint_spillargs
|
||||
|
@ -36,7 +36,7 @@ target triple = "powerpc64-unknown-linux-gnu"
|
||||
; CHECK-NEXT: .quad jsIntCall
|
||||
; CHECK-NEXT: .quad 128
|
||||
; CHECK-NEXT: .quad spilledValue
|
||||
; CHECK-NEXT: .quad 320
|
||||
; CHECK-NEXT: .quad 304
|
||||
; CHECK-NEXT: .quad spilledStackMapValue
|
||||
; CHECK-NEXT: .quad 224
|
||||
; CHECK-NEXT: .quad liveConstant
|
||||
|
Loading…
Reference in New Issue
Block a user