LLVM API Documentation

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/CodeGen/MachineLocation.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 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 MachineInstrMakeM0Inst (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)

Variables

cl::opt< bool > NoFusing ("disable-spill-fusing", cl::desc("Disable fusing of spill code into instructions"))
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)


Function Documentation

static bool hasFP ( MachineFunction MF  )  [static]

Definition at line 476 of file X86RegisterInfo.cpp.

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

static MachineInstr* MakeM0Inst ( unsigned  Opcode,
unsigned  FrameIndex,
MachineInstr MI 
) [static]

Definition at line 158 of file X86RegisterInfo.cpp.

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

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

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

Definition at line 145 of file X86RegisterInfo.cpp.

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

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

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

Definition at line 127 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 138 of file X86RegisterInfo.cpp.

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

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

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

Definition at line 132 of file X86RegisterInfo.cpp.

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

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

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

Definition at line 170 of file X86RegisterInfo.cpp.

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

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

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

Definition at line 163 of file X86RegisterInfo.cpp.

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

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().