LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

X86RegisterInfo.cpp File Reference

#include "X86.h"
#include "X86RegisterInfo.h"
#include "X86InstrBuilder.h"
#include "llvm/Constants.h"
#include "llvm/Type.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/Target/TargetFrameInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/ADT/STLExtras.h"
#include <iostream>
#include "X86GenRegisterInfo.inc"

Include dependency graph for X86RegisterInfo.cpp:

Go to the source code of this file.

Functions

static unsigned getIdx (unsigned SpillSize)
static MachineInstrMakeMInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static MachineInstrMakeMRInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static MachineInstrMakeMRIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static MachineInstrMakeMIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static MachineInstrMakeRMInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static MachineInstrMakeRMIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI)
static bool hasFP (MachineFunction &MF)


Function Documentation

static unsigned getIdx unsigned  SpillSize  )  [static]
 

Definition at line 47 of file X86RegisterInfo.cpp.

static bool hasFP MachineFunction MF  )  [static]
 

Definition at line 334 of file X86RegisterInfo.cpp.

References llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::hasVarSizedObjects(), and llvm::NoFramePointerElim.

static MachineInstr* MakeMIInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 103 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addZImm(), llvm::BuildMI(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isGlobalAddress(), and llvm::MachineOperand::isImmediate().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

static MachineInstr* MakeMInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 85 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), and llvm::BuildMI().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

static MachineInstr* MakeMRIInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 96 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstrBuilder::addZImm(), llvm::BuildMI(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

static MachineInstr* MakeMRInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 90 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

static MachineInstr* MakeRMIInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 122 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::MachineInstrBuilder::addZImm(), llvm::BuildMI(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineOperand::getUseType().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

static MachineInstr* MakeRMInst unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI
[static]
 

Definition at line 115 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::BuildMI(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineOperand::getUseType().

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().


Variable Documentation

cl::opt<bool> NoFusing("disable-spill-fusing", cl::desc("Disable fusing of spill code into instructions")) [static]
 

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().

cl::opt<bool> PrintFailedFusing("print-failed-fuse-candidates", cl::desc("Print instructions that the allocator wants to"" fuse, but the X86 backend currently can't"), cl::Hidden) [static]
 

Referenced by llvm::X86RegisterInfo::foldMemoryOperand().