LLVM
15.0.0git
|
#include "PPCRegisterInfo.h"
#include "PPCFrameLowering.h"
#include "PPCInstrBuilder.h"
#include "PPCMachineFunctionInfo.h"
#include "PPCSubtarget.h"
#include "PPCTargetMachine.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Type.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include <cstdlib>
#include "PPCGenRegisterInfo.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "reginfo" |
#define | GET_REGINFO_TARGET_DESC |
Functions | |
STATISTIC (InflateGPRC, "Number of gprc inputs for getLargestLegalClass") | |
STATISTIC (InflateGP8RC, "Number of g8rc inputs for getLargestLegalClass") | |
static unsigned | offsetMinAlignForOpcode (unsigned OpC) |
static void | emitAccSpillRestoreInfo (MachineBasicBlock &MBB, bool IsPrimed, bool IsRestore) |
static unsigned | offsetMinAlign (const MachineInstr &MI) |
static unsigned | getOffsetONFromFION (const MachineInstr &MI, unsigned FIOperandNum) |
Variables | |
static cl::opt< bool > | EnableBasePointer ("ppc-use-base-pointer", cl::Hidden, cl::init(true), cl::desc("Enable use of a base pointer for complex stack frames")) |
static cl::opt< bool > | AlwaysBasePointer ("ppc-always-use-base-pointer", cl::Hidden, cl::init(false), cl::desc("Force the use of a base pointer in every function")) |
static cl::opt< bool > | EnableGPRToVecSpills ("ppc-enable-gpr-to-vsr-spills", cl::Hidden, cl::init(false), cl::desc("Enable spills from gpr to vsr rather than stack")) |
static cl::opt< bool > | StackPtrConst ("ppc-stack-ptr-caller-preserved", cl::desc("Consider R1 caller preserved so stack saves of " "caller preserved registers can be LICM candidates"), cl::init(true), cl::Hidden) |
static cl::opt< unsigned > | MaxCRBitSpillDist ("ppc-max-crbit-spill-dist", cl::desc("Maximum search distance for definition of CR bit " "spill on ppc"), cl::Hidden, cl::init(100)) |
static cl::opt< bool > | ReportAccMoves ("ppc-report-acc-moves", cl::desc("Emit information about accumulator register spills " "and copies"), cl::Hidden, cl::init(false)) |
#define DEBUG_TYPE "reginfo" |
Definition at line 47 of file PPCRegisterInfo.cpp.
#define GET_REGINFO_TARGET_DESC |
Definition at line 49 of file PPCRegisterInfo.cpp.
|
static |
Definition at line 1179 of file PPCRegisterInfo.cpp.
References llvm::dbgs(), llvm::MachineBasicBlock::dump(), MBB, and ReportAccMoves.
Referenced by llvm::PPCRegisterInfo::lowerACCRestore(), and llvm::PPCRegisterInfo::lowerACCSpilling().
|
static |
Definition at line 1378 of file PPCRegisterInfo.cpp.
References MI.
Referenced by llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::isFrameOffsetLegal(), and llvm::PPCRegisterInfo::resolveFrameIndex().
|
static |
Definition at line 1372 of file PPCRegisterInfo.cpp.
References MI, and offsetMinAlignForOpcode().
Referenced by llvm::PPCRegisterInfo::eliminateFrameIndex(), and llvm::PPCRegisterInfo::isFrameOffsetLegal().
|
static |
Definition at line 1339 of file PPCRegisterInfo.cpp.
References llvm::ARM_MB::LD.
Referenced by offsetMinAlign(), and llvm::PPCRegisterInfo::requiresFrameIndexScavenging().
|
static |
Referenced by llvm::PPCRegisterInfo::hasBasePointer().
|
static |
Referenced by llvm::PPCRegisterInfo::hasBasePointer().
|
static |
Referenced by llvm::PPCRegisterInfo::getLargestLegalSuperClass().
|
static |
Referenced by llvm::PPCRegisterInfo::lowerCRBitSpilling().
|
static |
Referenced by llvm::PPCRegisterInfo::emitAccCopyInfo(), and emitAccSpillRestoreInfo().