LLVM API Documentation

PPCRegisterInfo.cpp File Reference

#include "PPC.h"
#include "PPCInstrBuilder.h"
#include "PPCRegisterInfo.h"
#include "llvm/Constants.h"
#include "llvm/Type.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineDebugInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineLocation.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/Target/TargetFrameInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/ADT/STLExtras.h"
#include <cstdlib>
#include <iostream>
#include "PPCGenRegisterInfo.inc"

Include dependency graph for PPCRegisterInfo.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "reginfo"
#define HANDLEREG(N)   if (UsedRegs[PPC::V##N]) UsedRegMask |= 1 << (31-N)

Functions

static bool hasFP (const MachineFunction &MF)
static void HandleVRSaveUpdate (MachineInstr *MI, const bool *UsedRegs)


Define Documentation

#define DEBUG_TYPE   "reginfo"

Definition at line 14 of file PPCRegisterInfo.cpp.

#define HANDLEREG (  )     if (UsedRegs[PPC::V##N]) UsedRegMask |= 1 << (31-N)

Referenced by HandleVRSaveUpdate().


Function Documentation

static void HandleVRSaveUpdate ( MachineInstr MI,
const bool *  UsedRegs 
) [static]

Definition at line 301 of file PPCRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::erase(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), HANDLEREG, and MI.

Referenced by llvm::PPCRegisterInfo::emitPrologue().

static bool hasFP ( const MachineFunction MF  )  [static]

Definition at line 201 of file PPCRegisterInfo.cpp.

References llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), llvm::MachineFrameInfo::hasVarSizedObjects(), MF, and llvm::NoFramePointerElim.