#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#define DEBUG_TYPE …
usingnamespacellvm;
void MachineFrameInfo::ensureMaxAlignment(Align Alignment) { … }
static inline Align clampStackAlignment(bool ShouldClamp, Align Alignment,
Align StackAlignment) { … }
int MachineFrameInfo::CreateStackObject(uint64_t Size, Align Alignment,
bool IsSpillSlot,
const AllocaInst *Alloca,
uint8_t StackID) { … }
int MachineFrameInfo::CreateSpillStackObject(uint64_t Size, Align Alignment) { … }
int MachineFrameInfo::CreateVariableSizedObject(Align Alignment,
const AllocaInst *Alloca) { … }
int MachineFrameInfo::CreateFixedObject(uint64_t Size, int64_t SPOffset,
bool IsImmutable, bool IsAliased) { … }
int MachineFrameInfo::CreateFixedSpillStackObject(uint64_t Size,
int64_t SPOffset,
bool IsImmutable) { … }
BitVector MachineFrameInfo::getPristineRegs(const MachineFunction &MF) const { … }
uint64_t MachineFrameInfo::estimateStackSize(const MachineFunction &MF) const { … }
void MachineFrameInfo::computeMaxCallFrameSize(
MachineFunction &MF, std::vector<MachineBasicBlock::iterator> *FrameSDOps) { … }
void MachineFrameInfo::print(const MachineFunction &MF, raw_ostream &OS) const{ … }
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void MachineFrameInfo::dump(const MachineFunction &MF) const {
print(MF, dbgs());
}
#endif