13#ifndef LLVM_AVR_MACHINE_FUNCTION_INFO_H
14#define LLVM_AVR_MACHINE_FUNCTION_INFO_H
35 bool IsInterruptHandler;
42 unsigned CalleeSavedFrameSize;
45 int VarArgsFrameIndex;
50 CalleeSavedFrameSize(0), VarArgsFrameIndex(0) {
53 this->IsInterruptHandler =
55 this->IsSignalHandler =
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one unsigned Idx
Contains AVR-specific information for each MachineFunction.
bool isInterruptHandler() const
bool getHasSpills() const
void setVarArgsFrameIndex(int Idx)
void setCalleeSavedFrameSize(unsigned Bytes)
unsigned getCalleeSavedFrameSize() const
AVRMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
bool getHasStackArgs() const
void setHasSpills(bool B)
bool getHasAllocas() const
bool isSignalHandler() const
void setHasStackArgs(bool B)
void setHasAllocas(bool B)
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
bool isInterruptOrSignalHandler() const
Checks if the function is some form of interrupt service routine.
int getVarArgsFrameIndex() const
Allocate memory in an ever growing pool, as if by bump-pointer.
Ty * cloneInfo(const Ty &Old)
TargetSubtargetInfo - Generic base class for all target subtargets.
@ AVR_SIGNAL
Used for AVR signal routines.
@ AVR_INTR
Used for AVR interrupt routines.
This is an optimization pass for GlobalISel generic memory operations.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...