#include "MipsMachineFunction.h"
#include "MCTargetDesc/MipsABIInfo.h"
#include "MipsSubtarget.h"
#include "MipsTargetMachine.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/PseudoSourceValueManager.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
usingnamespacellvm;
static cl::opt<bool>
FixGlobalBaseReg("mips-fix-global-base-reg", cl::Hidden, cl::init(true),
cl::desc("Always use $gp as the global base register."));
MachineFunctionInfo *
MipsFunctionInfo::clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF,
const DenseMap<MachineBasicBlock *, MachineBasicBlock *>
&Src2DstMBB) const { … }
MipsFunctionInfo::~MipsFunctionInfo() = default;
bool MipsFunctionInfo::globalBaseRegSet() const { … }
static const TargetRegisterClass &getGlobalBaseRegClass(MachineFunction &MF) { … }
Register MipsFunctionInfo::getGlobalBaseReg(MachineFunction &MF) { … }
Register MipsFunctionInfo::getGlobalBaseRegForGlobalISel(MachineFunction &MF) { … }
void MipsFunctionInfo::initGlobalBaseReg(MachineFunction &MF) { … }
void MipsFunctionInfo::createEhDataRegsFI(MachineFunction &MF) { … }
void MipsFunctionInfo::createISRRegFI(MachineFunction &MF) { … }
bool MipsFunctionInfo::isEhDataRegFI(int FI) const { … }
bool MipsFunctionInfo::isISRRegFI(int FI) const { … }
MachinePointerInfo MipsFunctionInfo::callPtrInfo(MachineFunction &MF,
const char *ES) { … }
MachinePointerInfo MipsFunctionInfo::callPtrInfo(MachineFunction &MF,
const GlobalValue *GV) { … }
int MipsFunctionInfo::getMoveF64ViaSpillFI(MachineFunction &MF,
const TargetRegisterClass *RC) { … }
void MipsFunctionInfo::anchor() { … }