forked from OSchip/llvm-project
PowerPC: Canonicalize access to function attributes, NFC
Canonicalize access to function attributes to use the simpler API. getAttributes().getAttribute(AttributeSet::FunctionIndex, Kind) => getFnAttribute(Kind) getAttributes().hasAttribute(AttributeSet::FunctionIndex, Kind) => hasFnAttribute(Kind) llvm-svn: 229224
This commit is contained in:
parent
f417ff8f2a
commit
5bedaf934f
|
@ -442,8 +442,7 @@ unsigned PPCFrameLowering::determineFrameLayout(MachineFunction &MF,
|
|||
// to adjust the stack pointer (we fit in the Red Zone).
|
||||
// The 32-bit SVR4 ABI has no Red Zone. However, it can still generate
|
||||
// stackless code if all local vars are reg-allocated.
|
||||
bool DisableRedZone = MF.getFunction()->getAttributes().
|
||||
hasAttribute(AttributeSet::FunctionIndex, Attribute::NoRedZone);
|
||||
bool DisableRedZone = MF.getFunction()->hasFnAttribute(Attribute::NoRedZone);
|
||||
unsigned LR = RegInfo->getRARegister();
|
||||
if (!DisableRedZone &&
|
||||
(Subtarget.isPPC64() || // 32-bit SVR4, no stack-
|
||||
|
@ -507,8 +506,7 @@ bool PPCFrameLowering::needsFP(const MachineFunction &MF) const {
|
|||
|
||||
// Naked functions have no stack frame pushed, so we don't have a frame
|
||||
// pointer.
|
||||
if (MF.getFunction()->getAttributes().hasAttribute(
|
||||
AttributeSet::FunctionIndex, Attribute::Naked))
|
||||
if (MF.getFunction()->hasFnAttribute(Attribute::Naked))
|
||||
return false;
|
||||
|
||||
return MF.getTarget().Options.DisableFramePointerElim(MF) ||
|
||||
|
|
|
@ -7181,8 +7181,7 @@ PPCTargetLowering::emitEHSjLjSetJmp(MachineInstr *MI,
|
|||
// Naked functions never have a base pointer, and so we use r1. For all
|
||||
// other functions, this decision must be delayed until during PEI.
|
||||
unsigned BaseReg;
|
||||
if (MF->getFunction()->getAttributes().hasAttribute(
|
||||
AttributeSet::FunctionIndex, Attribute::Naked))
|
||||
if (MF->getFunction()->hasFnAttribute(Attribute::Naked))
|
||||
BaseReg = Subtarget.isPPC64() ? PPC::X1 : PPC::R1;
|
||||
else
|
||||
BaseReg = Subtarget.isPPC64() ? PPC::BP8 : PPC::BP;
|
||||
|
@ -9721,8 +9720,7 @@ SDValue PPCTargetLowering::LowerFRAMEADDR(SDValue Op,
|
|||
// Naked functions never have a frame pointer, and so we use r1. For all
|
||||
// other functions, this decision must be delayed until during PEI.
|
||||
unsigned FrameReg;
|
||||
if (MF.getFunction()->getAttributes().hasAttribute(
|
||||
AttributeSet::FunctionIndex, Attribute::Naked))
|
||||
if (MF.getFunction()->hasFnAttribute(Attribute::Naked))
|
||||
FrameReg = isPPC64 ? PPC::X1 : PPC::R1;
|
||||
else
|
||||
FrameReg = isPPC64 ? PPC::FP8 : PPC::FP;
|
||||
|
|
|
@ -821,8 +821,7 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
|||
// to Offset to get the correct offset.
|
||||
// Naked functions have stack size 0, although getStackSize may not reflect that
|
||||
// because we didn't call all the pieces that compute it for naked functions.
|
||||
if (!MF.getFunction()->getAttributes().
|
||||
hasAttribute(AttributeSet::FunctionIndex, Attribute::Naked)) {
|
||||
if (!MF.getFunction()->hasFnAttribute(Attribute::Naked)) {
|
||||
if (!(hasBasePointer(MF) && FrameIndex < 0))
|
||||
Offset += MFI->getStackSize();
|
||||
}
|
||||
|
@ -928,10 +927,8 @@ bool PPCRegisterInfo::needsStackRealignment(const MachineFunction &MF) const {
|
|||
const MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
const Function *F = MF.getFunction();
|
||||
unsigned StackAlign = Subtarget.getFrameLowering()->getStackAlignment();
|
||||
bool requiresRealignment =
|
||||
((MFI->getMaxAlignment() > StackAlign) ||
|
||||
F->getAttributes().hasAttribute(AttributeSet::FunctionIndex,
|
||||
Attribute::StackAlignment));
|
||||
bool requiresRealignment = ((MFI->getMaxAlignment() > StackAlign) ||
|
||||
F->hasFnAttribute(Attribute::StackAlignment));
|
||||
|
||||
return requiresRealignment && canRealignStack(MF);
|
||||
}
|
||||
|
|
|
@ -162,11 +162,8 @@ PPC64TargetMachine::PPC64TargetMachine(const Target &T, StringRef TT,
|
|||
|
||||
const PPCSubtarget *
|
||||
PPCTargetMachine::getSubtargetImpl(const Function &F) const {
|
||||
AttributeSet FnAttrs = F.getAttributes();
|
||||
Attribute CPUAttr =
|
||||
FnAttrs.getAttribute(AttributeSet::FunctionIndex, "target-cpu");
|
||||
Attribute FSAttr =
|
||||
FnAttrs.getAttribute(AttributeSet::FunctionIndex, "target-features");
|
||||
Attribute CPUAttr = F.getFnAttribute("target-cpu");
|
||||
Attribute FSAttr = F.getFnAttribute("target-features");
|
||||
|
||||
std::string CPU = !CPUAttr.hasAttribute(Attribute::None)
|
||||
? CPUAttr.getValueAsString().str()
|
||||
|
|
Loading…
Reference in New Issue