Use default member initializers to deduplicate code in X86MachineFunctionInfo, NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241609 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Kleckner 2015-07-07 18:12:06 +00:00
parent 51652580f4
commit d0c71cfdf6

View File

@ -30,59 +30,59 @@ class X86MachineFunctionInfo : public MachineFunctionInfo {
/// pointer for reasons other than it containing dynamic allocation or /// pointer for reasons other than it containing dynamic allocation or
/// that FP eliminatation is turned off. For example, Cygwin main function /// that FP eliminatation is turned off. For example, Cygwin main function
/// contains stack pointer re-alignment code which requires FP. /// contains stack pointer re-alignment code which requires FP.
bool ForceFramePointer; bool ForceFramePointer = false;
/// RestoreBasePointerOffset - Non-zero if the function has base pointer /// RestoreBasePointerOffset - Non-zero if the function has base pointer
/// and makes call to llvm.eh.sjlj.setjmp. When non-zero, the value is a /// and makes call to llvm.eh.sjlj.setjmp. When non-zero, the value is a
/// displacement from the frame pointer to a slot where the base pointer /// displacement from the frame pointer to a slot where the base pointer
/// is stashed. /// is stashed.
signed char RestoreBasePointerOffset; signed char RestoreBasePointerOffset = 0;
/// CalleeSavedFrameSize - Size of the callee-saved register portion of the /// CalleeSavedFrameSize - Size of the callee-saved register portion of the
/// stack frame in bytes. /// stack frame in bytes.
unsigned CalleeSavedFrameSize; unsigned CalleeSavedFrameSize = 0;
/// BytesToPopOnReturn - Number of bytes function pops on return (in addition /// BytesToPopOnReturn - Number of bytes function pops on return (in addition
/// to the space used by the return address). /// to the space used by the return address).
/// Used on windows platform for stdcall & fastcall name decoration /// Used on windows platform for stdcall & fastcall name decoration
unsigned BytesToPopOnReturn; unsigned BytesToPopOnReturn = 0;
/// ReturnAddrIndex - FrameIndex for return slot. /// ReturnAddrIndex - FrameIndex for return slot.
int ReturnAddrIndex; int ReturnAddrIndex = 0;
/// \brief FrameIndex for return slot. /// \brief FrameIndex for return slot.
int FrameAddrIndex; int FrameAddrIndex = 0;
/// TailCallReturnAddrDelta - The number of bytes by which return address /// TailCallReturnAddrDelta - The number of bytes by which return address
/// stack slot is moved as the result of tail call optimization. /// stack slot is moved as the result of tail call optimization.
int TailCallReturnAddrDelta; int TailCallReturnAddrDelta = 0;
/// SRetReturnReg - Some subtargets require that sret lowering includes /// SRetReturnReg - Some subtargets require that sret lowering includes
/// returning the value of the returned struct in a register. This field /// returning the value of the returned struct in a register. This field
/// holds the virtual register into which the sret argument is passed. /// holds the virtual register into which the sret argument is passed.
unsigned SRetReturnReg; unsigned SRetReturnReg = 0;
/// GlobalBaseReg - keeps track of the virtual register initialized for /// GlobalBaseReg - keeps track of the virtual register initialized for
/// use as the global base register. This is used for PIC in some PIC /// use as the global base register. This is used for PIC in some PIC
/// relocation models. /// relocation models.
unsigned GlobalBaseReg; unsigned GlobalBaseReg = 0;
/// VarArgsFrameIndex - FrameIndex for start of varargs area. /// VarArgsFrameIndex - FrameIndex for start of varargs area.
int VarArgsFrameIndex; int VarArgsFrameIndex = 0;
/// RegSaveFrameIndex - X86-64 vararg func register save area. /// RegSaveFrameIndex - X86-64 vararg func register save area.
int RegSaveFrameIndex; int RegSaveFrameIndex = 0;
/// VarArgsGPOffset - X86-64 vararg func int reg offset. /// VarArgsGPOffset - X86-64 vararg func int reg offset.
unsigned VarArgsGPOffset; unsigned VarArgsGPOffset = 0;
/// VarArgsFPOffset - X86-64 vararg func fp reg offset. /// VarArgsFPOffset - X86-64 vararg func fp reg offset.
unsigned VarArgsFPOffset; unsigned VarArgsFPOffset = 0;
/// ArgumentStackSize - The number of bytes on stack consumed by the arguments /// ArgumentStackSize - The number of bytes on stack consumed by the arguments
/// being passed on the stack. /// being passed on the stack.
unsigned ArgumentStackSize; unsigned ArgumentStackSize = 0;
/// NumLocalDynamics - Number of local-dynamic TLS accesses. /// NumLocalDynamics - Number of local-dynamic TLS accesses.
unsigned NumLocalDynamics; unsigned NumLocalDynamics = 0;
/// HasPushSequences - Keeps track of whether this function uses sequences /// HasPushSequences - Keeps track of whether this function uses sequences
/// of pushes to pass function parameters. /// of pushes to pass function parameters.
bool HasPushSequences; bool HasPushSequences = false;
private: private:
/// ForwardedMustTailRegParms - A list of virtual and physical registers /// ForwardedMustTailRegParms - A list of virtual and physical registers
@ -90,40 +90,9 @@ private:
SmallVector<ForwardedRegister, 1> ForwardedMustTailRegParms; SmallVector<ForwardedRegister, 1> ForwardedMustTailRegParms;
public: public:
X86MachineFunctionInfo() : ForceFramePointer(false), X86MachineFunctionInfo() = default;
RestoreBasePointerOffset(0),
CalleeSavedFrameSize(0),
BytesToPopOnReturn(0),
ReturnAddrIndex(0),
FrameAddrIndex(0),
TailCallReturnAddrDelta(0),
SRetReturnReg(0),
GlobalBaseReg(0),
VarArgsFrameIndex(0),
RegSaveFrameIndex(0),
VarArgsGPOffset(0),
VarArgsFPOffset(0),
ArgumentStackSize(0),
NumLocalDynamics(0),
HasPushSequences(false) {}
explicit X86MachineFunctionInfo(MachineFunction &MF) explicit X86MachineFunctionInfo(MachineFunction &MF) {};
: ForceFramePointer(false),
RestoreBasePointerOffset(0),
CalleeSavedFrameSize(0),
BytesToPopOnReturn(0),
ReturnAddrIndex(0),
FrameAddrIndex(0),
TailCallReturnAddrDelta(0),
SRetReturnReg(0),
GlobalBaseReg(0),
VarArgsFrameIndex(0),
RegSaveFrameIndex(0),
VarArgsGPOffset(0),
VarArgsFPOffset(0),
ArgumentStackSize(0),
NumLocalDynamics(0),
HasPushSequences(false) {}
bool getForceFramePointer() const { return ForceFramePointer;} bool getForceFramePointer() const { return ForceFramePointer;}
void setForceFramePointer(bool forceFP) { ForceFramePointer = forceFP; } void setForceFramePointer(bool forceFP) { ForceFramePointer = forceFP; }