Use virtual base registers on PPC
authorHal Finkel <hfinkel@anl.gov>
Tue, 9 Apr 2013 17:27:09 +0000 (17:27 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 9 Apr 2013 17:27:09 +0000 (17:27 +0000)
commitf6f8198d85f278ff03aaf32c9db6ae0b3826395c
treeb5b4e76c738f25c5402e812080d5af875f3edc55
parent307b8535ee4cb37ade40fdc7dd36baa7f27fa34c
Use virtual base registers on PPC

On PowerPC, non-vector loads and stores have r+i forms; however, in functions
with large stack frames these were not being used to access slots far from the
stack pointer because such slots were out of range for the signed 16-bit
immediate offset field. This increases register pressure because we need a
separate register for each offset (when the r+r form is used). By enabling
virtual base registers, we can deal with large stack frames without unduly
increasing register pressure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179105 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCRegisterInfo.cpp
lib/Target/PowerPC/PPCRegisterInfo.h
test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
test/CodeGen/PowerPC/lsa.ll [new file with mode: 0644]