LLVM API Documentation
#include "X86.h"#include "X86RegisterInfo.h"#include "X86Subtarget.h"#include "X86InstrBuilder.h"#include "X86MachineFunctionInfo.h"#include "X86TargetMachine.h"#include "llvm/Constants.h"#include "llvm/Type.h"#include "llvm/Function.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.
Namespaces | |
| namespace | llvm |
Defines | |
| #define | ARRAY_SIZE(TABLE) (sizeof(TABLE)/sizeof(TABLE[0])) |
| #define | ASSERT_SORTED(TABLE) |
Functions | |
| static MachineInstr * | MakeMInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeMRInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeMRIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeMIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeM0Inst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeRMInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static MachineInstr * | MakeRMIInst (unsigned Opcode, unsigned FrameIndex, MachineInstr *MI) |
| static bool | TableIsSorted (const TableEntry *Table, unsigned NumEntries) |
| static const TableEntry * | TableLookup (const TableEntry *Table, unsigned N, unsigned Opcode) |
| static bool | hasFP (MachineFunction &MF) |
| unsigned | llvm::getX86SubSuperRegister (unsigned Reg, MVT::ValueType VT, bool High) |
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) |
| #define ARRAY_SIZE | ( | TABLE | ) | (sizeof(TABLE)/sizeof(TABLE[0])) |
Definition at line 243 of file X86RegisterInfo.cpp.
| #define ASSERT_SORTED | ( | TABLE | ) |
Value:
{ static bool TABLE##Checked = false; \
if (!TABLE##Checked) { \
assert(TableIsSorted(TABLE, ARRAY_SIZE(TABLE)) && \
"All lookup tables must be sorted for efficient access!"); \
TABLE##Checked = true; \
} \
}
Definition at line 249 of file X86RegisterInfo.cpp.
| static bool hasFP | ( | MachineFunction & | MF | ) | [static] |
Definition at line 740 of file X86RegisterInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getInfo(), llvm::MachineFrameInfo::hasVarSizedObjects(), MF, and llvm::NoFramePointerElim.
| static MachineInstr* MakeM0Inst | ( | unsigned | Opcode, | |
| unsigned | FrameIndex, | |||
| MachineInstr * | MI | |||
| ) | [static] |
Definition at line 177 of file X86RegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addImm(), and llvm::BuildMI().
Referenced by llvm::X86RegisterInfo::foldMemoryOperand().
| static MachineInstr* MakeMIInst | ( | unsigned | Opcode, | |
| unsigned | FrameIndex, | |||
| MachineInstr * | MI | |||
| ) | [static] |
Definition at line 161 of file X86RegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addJumpTableIndex(), llvm::BuildMI(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImmedValue(), llvm::MachineOperand::getJumpTableIndex(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isGlobalAddress(), llvm::MachineOperand::isImmediate(), llvm::MachineOperand::isJumpTableIndex(), and MI.
Referenced by llvm::X86RegisterInfo::foldMemoryOperand().
| static MachineInstr* MakeMInst | ( | unsigned | Opcode, | |
| unsigned | FrameIndex, | |||
| MachineInstr * | MI | |||
| ) | [static] |
Definition at line 143 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 154 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 148 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 189 of file X86RegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addImm(), 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 182 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().
| static bool TableIsSorted | ( | const TableEntry * | Table, | |
| unsigned | NumEntries | |||
| ) | [static] |
TableIsSorted - Return true if the table is in 'from' opcode order.
Definition at line 223 of file X86RegisterInfo.cpp.
References from.
| static const TableEntry* TableLookup | ( | const TableEntry * | Table, | |
| unsigned | N, | |||
| unsigned | Opcode | |||
| ) | [static] |
TableLookup - Return the table entry matching the specified opcode. Otherwise return NULL.
Definition at line 235 of file X86RegisterInfo.cpp.
Referenced by llvm::X86RegisterInfo::foldMemoryOperand().
| unsigned from |
Definition at line 205 of file X86RegisterInfo.cpp.
| unsigned make |
Definition at line 207 of file X86RegisterInfo.cpp.
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().
| unsigned to |
Definition at line 206 of file X86RegisterInfo.cpp.