diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h')
| -rw-r--r-- | gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h b/gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h deleted file mode 100644 index 393abe698db..00000000000 --- a/gnu/llvm/lib/Target/X86/X86MachineFunctionInfo.h +++ /dev/null @@ -1,191 +0,0 @@ -//===-- X86MachineFunctionInfo.h - X86 machine function info ----*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file declares X86-specific per-machine-function information. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H -#define LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H - -#include "llvm/CodeGen/CallingConvLower.h" -#include "llvm/CodeGen/MachineFunction.h" -#include "llvm/Support/MachineValueType.h" - -namespace llvm { - -/// X86MachineFunctionInfo - This class is derived from MachineFunction and -/// contains private X86 target-specific information for each MachineFunction. -class X86MachineFunctionInfo : public MachineFunctionInfo { - virtual void anchor(); - - /// ForceFramePointer - True if the function is required to use of frame - /// pointer for reasons other than it containing dynamic allocation or - /// that FP eliminatation is turned off. For example, Cygwin main function - /// contains stack pointer re-alignment code which requires FP. - bool ForceFramePointer = false; - - /// RestoreBasePointerOffset - Non-zero if the function has base pointer - /// 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 - /// is stashed. - signed char RestoreBasePointerOffset = 0; - - /// CalleeSavedFrameSize - Size of the callee-saved register portion of the - /// stack frame in bytes. - unsigned CalleeSavedFrameSize = 0; - - // SaveArgSize - Number of register arguments saved on the stack - unsigned SaveArgSize = 0; - - /// BytesToPopOnReturn - Number of bytes function pops on return (in addition - /// to the space used by the return address). - /// Used on windows platform for stdcall & fastcall name decoration - unsigned BytesToPopOnReturn = 0; - - /// ReturnAddrIndex - FrameIndex for return slot. - int ReturnAddrIndex = 0; - - /// FrameIndex for return slot. - int FrameAddrIndex = 0; - - /// TailCallReturnAddrDelta - The number of bytes by which return address - /// stack slot is moved as the result of tail call optimization. - int TailCallReturnAddrDelta = 0; - - /// SRetReturnReg - Some subtargets require that sret lowering includes - /// returning the value of the returned struct in a register. This field - /// holds the virtual register into which the sret argument is passed. - unsigned SRetReturnReg = 0; - - /// GlobalBaseReg - keeps track of the virtual register initialized for - /// use as the global base register. This is used for PIC in some PIC - /// relocation models. - unsigned GlobalBaseReg = 0; - - /// VarArgsFrameIndex - FrameIndex for start of varargs area. - int VarArgsFrameIndex = 0; - /// RegSaveFrameIndex - X86-64 vararg func register save area. - int RegSaveFrameIndex = 0; - /// VarArgsGPOffset - X86-64 vararg func int reg offset. - unsigned VarArgsGPOffset = 0; - /// VarArgsFPOffset - X86-64 vararg func fp reg offset. - unsigned VarArgsFPOffset = 0; - /// ArgumentStackSize - The number of bytes on stack consumed by the arguments - /// being passed on the stack. - unsigned ArgumentStackSize = 0; - /// NumLocalDynamics - Number of local-dynamic TLS accesses. - unsigned NumLocalDynamics = 0; - /// HasPushSequences - Keeps track of whether this function uses sequences - /// of pushes to pass function parameters. - bool HasPushSequences = false; - - /// True if the function recovers from an SEH exception, and therefore needs - /// to spill and restore the frame pointer. - bool HasSEHFramePtrSave = false; - - /// The frame index of a stack object containing the original frame pointer - /// used to address arguments in a function using a base pointer. - int SEHFramePtrSaveIndex = 0; - - /// True if this function has a subset of CSRs that is handled explicitly via - /// copies. - bool IsSplitCSR = false; - - /// True if this function uses the red zone. - bool UsesRedZone = false; - - /// True if this function has WIN_ALLOCA instructions. - bool HasWinAlloca = false; - -private: - /// ForwardedMustTailRegParms - A list of virtual and physical registers - /// that must be forwarded to every musttail call. - SmallVector<ForwardedRegister, 1> ForwardedMustTailRegParms; - -public: - X86MachineFunctionInfo() = default; - - explicit X86MachineFunctionInfo(MachineFunction &MF) {} - - bool getForceFramePointer() const { return ForceFramePointer;} - void setForceFramePointer(bool forceFP) { ForceFramePointer = forceFP; } - - bool getHasPushSequences() const { return HasPushSequences; } - void setHasPushSequences(bool HasPush) { HasPushSequences = HasPush; } - - bool getRestoreBasePointer() const { return RestoreBasePointerOffset!=0; } - void setRestoreBasePointer(const MachineFunction *MF); - int getRestoreBasePointerOffset() const {return RestoreBasePointerOffset; } - - unsigned getCalleeSavedFrameSize() const { return CalleeSavedFrameSize; } - void setCalleeSavedFrameSize(unsigned bytes) { CalleeSavedFrameSize = bytes; } - - unsigned getSaveArgSize() const { return SaveArgSize; } - void setSaveArgSize(unsigned bytes) { SaveArgSize = bytes; } - - unsigned getBytesToPopOnReturn() const { return BytesToPopOnReturn; } - void setBytesToPopOnReturn (unsigned bytes) { BytesToPopOnReturn = bytes;} - - int getRAIndex() const { return ReturnAddrIndex; } - void setRAIndex(int Index) { ReturnAddrIndex = Index; } - - int getFAIndex() const { return FrameAddrIndex; } - void setFAIndex(int Index) { FrameAddrIndex = Index; } - - int getTCReturnAddrDelta() const { return TailCallReturnAddrDelta; } - void setTCReturnAddrDelta(int delta) {TailCallReturnAddrDelta = delta;} - - unsigned getSRetReturnReg() const { return SRetReturnReg; } - void setSRetReturnReg(unsigned Reg) { SRetReturnReg = Reg; } - - unsigned getGlobalBaseReg() const { return GlobalBaseReg; } - void setGlobalBaseReg(unsigned Reg) { GlobalBaseReg = Reg; } - - int getVarArgsFrameIndex() const { return VarArgsFrameIndex; } - void setVarArgsFrameIndex(int Idx) { VarArgsFrameIndex = Idx; } - - int getRegSaveFrameIndex() const { return RegSaveFrameIndex; } - void setRegSaveFrameIndex(int Idx) { RegSaveFrameIndex = Idx; } - - unsigned getVarArgsGPOffset() const { return VarArgsGPOffset; } - void setVarArgsGPOffset(unsigned Offset) { VarArgsGPOffset = Offset; } - - unsigned getVarArgsFPOffset() const { return VarArgsFPOffset; } - void setVarArgsFPOffset(unsigned Offset) { VarArgsFPOffset = Offset; } - - unsigned getArgumentStackSize() const { return ArgumentStackSize; } - void setArgumentStackSize(unsigned size) { ArgumentStackSize = size; } - - unsigned getNumLocalDynamicTLSAccesses() const { return NumLocalDynamics; } - void incNumLocalDynamicTLSAccesses() { ++NumLocalDynamics; } - - bool getHasSEHFramePtrSave() const { return HasSEHFramePtrSave; } - void setHasSEHFramePtrSave(bool V) { HasSEHFramePtrSave = V; } - - int getSEHFramePtrSaveIndex() const { return SEHFramePtrSaveIndex; } - void setSEHFramePtrSaveIndex(int Index) { SEHFramePtrSaveIndex = Index; } - - SmallVectorImpl<ForwardedRegister> &getForwardedMustTailRegParms() { - return ForwardedMustTailRegParms; - } - - bool isSplitCSR() const { return IsSplitCSR; } - void setIsSplitCSR(bool s) { IsSplitCSR = s; } - - bool getUsesRedZone() const { return UsesRedZone; } - void setUsesRedZone(bool V) { UsesRedZone = V; } - - bool hasWinAlloca() const { return HasWinAlloca; } - void setHasWinAlloca(bool v) { HasWinAlloca = v; } -}; - -} // End llvm namespace - -#endif |
