mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
[mips] Lower EH_RETURN.
Patch by Sasa Stankovic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173862 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -56,4 +56,20 @@ unsigned MipsFunctionInfo::getMips16SPAliasReg() {
|
||||
return Mips16SPAliasReg = MF.getRegInfo().createVirtualRegister(RC);
|
||||
}
|
||||
|
||||
void MipsFunctionInfo::createEhDataRegsFI() {
|
||||
for (int I = 0; I < 4; ++I) {
|
||||
const MipsSubtarget &ST = MF.getTarget().getSubtarget<MipsSubtarget>();
|
||||
const TargetRegisterClass *RC = ST.isABI_N64() ?
|
||||
&Mips::CPU64RegsRegClass : &Mips::CPURegsRegClass;
|
||||
|
||||
EhDataRegFI[I] = MF.getFrameInfo()->CreateStackObject(RC->getSize(),
|
||||
RC->getAlignment(), false);
|
||||
}
|
||||
}
|
||||
|
||||
bool MipsFunctionInfo::isEhDataRegFI(int FI) const {
|
||||
return CallsEhReturn && (FI == EhDataRegFI[0] || FI == EhDataRegFI[1]
|
||||
|| FI == EhDataRegFI[2] || FI == EhDataRegFI[3]);
|
||||
}
|
||||
|
||||
void MipsFunctionInfo::anchor() { }
|
||||
|
Reference in New Issue
Block a user