LLVM  6.0.0svn
Macros | Functions
NVPTXPrologEpilogPass.cpp File Reference
#include "NVPTX.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for NVPTXPrologEpilogPass.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "nvptx-prolog-epilog"
 

Functions

static void AdjustStackOffset (MachineFrameInfo &MFI, int FrameIdx, bool StackGrowsDown, int64_t &Offset, unsigned &MaxAlign)
 AdjustStackOffset - Helper function used to adjust the stack frame offset. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "nvptx-prolog-epilog"

Definition at line 29 of file NVPTXPrologEpilogPass.cpp.

Function Documentation

◆ AdjustStackOffset()

static void AdjustStackOffset ( MachineFrameInfo MFI,
int  FrameIdx,
bool  StackGrowsDown,
int64_t &  Offset,
unsigned MaxAlign 
)
inlinestatic

AdjustStackOffset - Helper function used to adjust the stack frame offset.

Definition at line 83 of file NVPTXPrologEpilogPass.cpp.

References llvm::MachineFrameInfo::adjustsStack(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, assert(), llvm::dbgs(), DEBUG, llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::MachineFrameInfo::getLocalFrameMaxAlign(), llvm::MachineFrameInfo::getLocalFrameObjectCount(), llvm::MachineFrameInfo::getLocalFrameObjectMap(), llvm::MachineFrameInfo::getLocalFrameSize(), llvm::MachineFrameInfo::getMaxAlignment(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), llvm::TargetFrameLowering::getOffsetOfLocalArea(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetFrameLowering::getStackAlignment(), llvm::TargetFrameLowering::getStackGrowthDirection(), llvm::MachineFunction::getSubtarget(), llvm::TargetFrameLowering::getTransientStackAlignment(), llvm::MachineFrameInfo::getUseLocalStackAllocationBlock(), llvm::TargetFrameLowering::hasReservedCallFrame(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineFrameInfo::isDeadObjectIndex(), llvm::MachineFrameInfo::isObjectPreAllocated(), llvm::max(), llvm::TargetRegisterInfo::needsStackRealignment(), llvm::MachineFrameInfo::setObjectOffset(), llvm::MachineFrameInfo::setStackSize(), llvm::TargetFrameLowering::StackGrowsDown, and llvm::TargetFrameLowering::targetHandlesStackFrameRounding().