LLVM 22.0.0git
|
X86AddressMode - This struct holds a generalized full x86 address mode. More...
#include "Target/X86/X86InstrBuilder.h"
Classes | |
union | BaseUnion |
Public Types | |
enum | { RegBase , FrameIndexBase } |
Public Member Functions | |
void | getFullAddress (SmallVectorImpl< MachineOperand > &MO) |
Public Attributes | |
enum llvm::X86AddressMode:: { ... } | BaseType = RegBase |
union llvm::X86AddressMode::BaseUnion | Base |
unsigned | Scale = 1 |
Register | IndexReg |
int | Disp = 0 |
const GlobalValue * | GV = nullptr |
unsigned | GVOpFlags = 0 |
bool | CP = false |
X86AddressMode - This struct holds a generalized full x86 address mode.
The base register can be a frame index, which will eventually be replaced with BP or SP and Disp being offsetted accordingly. The displacement may also include the offset of a global value.
Definition at line 42 of file X86InstrBuilder.h.
anonymous enum |
Enumerator | |
---|---|
RegBase | |
FrameIndexBase |
Definition at line 43 of file X86InstrBuilder.h.
|
inline |
Definition at line 59 of file X86InstrBuilder.h.
References assert(), Base, llvm::MachineOperand::CreateFI(), llvm::MachineOperand::CreateGA(), llvm::MachineOperand::CreateImm(), llvm::MachineOperand::CreateReg(), Disp, llvm::X86AddressMode::BaseUnion::FrameIndex, FrameIndexBase, GV, GVOpFlags, IndexReg, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::X86AddressMode::BaseUnion::Reg, RegBase, and Scale.
union llvm::X86AddressMode::BaseUnion llvm::X86AddressMode::Base |
Referenced by llvm::addFullAddress(), llvm::getAddressFromInstr(), getFullAddress(), and X86SelectAddress().
enum { ... } llvm::X86AddressMode::BaseType |
Referenced by llvm::addFullAddress(), llvm::getAddressFromInstr(), and X86SelectAddress().
bool llvm::X86AddressMode::CP = false |
Definition at line 57 of file X86InstrBuilder.h.
Referenced by X86SelectAddress().
int llvm::X86AddressMode::Disp = 0 |
Definition at line 54 of file X86InstrBuilder.h.
Referenced by llvm::addFullAddress(), llvm::getAddressFromInstr(), getFullAddress(), and X86SelectAddress().
const GlobalValue* llvm::X86AddressMode::GV = nullptr |
Definition at line 55 of file X86InstrBuilder.h.
Referenced by llvm::addFullAddress(), llvm::getAddressFromInstr(), getFullAddress(), and X86SelectAddress().
unsigned llvm::X86AddressMode::GVOpFlags = 0 |
Definition at line 56 of file X86InstrBuilder.h.
Referenced by llvm::addFullAddress(), getFullAddress(), and X86SelectAddress().
Register llvm::X86AddressMode::IndexReg |
Definition at line 53 of file X86InstrBuilder.h.
Referenced by llvm::addFullAddress(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::getAddressFromInstr(), getFullAddress(), and X86SelectAddress().
unsigned llvm::X86AddressMode::Scale = 1 |
Definition at line 52 of file X86InstrBuilder.h.
Referenced by llvm::addFullAddress(), llvm::getAddressFromInstr(), and getFullAddress().