LLVM: llvm::X86AddressMode Struct Reference (original) (raw)
X86AddressMode - This struct holds a generalized full x86 address mode. More...
#include "[Target/X86/X86InstrBuilder.h](X86InstrBuilder%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| enum | { RegBase, FrameIndexBase } |
| 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 |
Detailed Description
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.
Member Enumeration Documentation
◆ anonymous enum
Member Function Documentation
◆ getFullAddress()
Definition at line 59 of file X86InstrBuilder.h.
References assert(), Base, BaseType, llvm::MachineOperand::CreateFI(), llvm::MachineOperand::CreateGA(), llvm::MachineOperand::CreateImm(), llvm::MachineOperand::CreateReg(), Disp, FrameIndexBase, GV, GVOpFlags, IndexReg, llvm::SmallVectorTemplateBase< T, bool >::push_back(), RegBase, and Scale.
Member Data Documentation
◆ Base
◆ []
enum { ... } llvm::X86AddressMode::BaseType
◆ CP
bool llvm::X86AddressMode::CP = false
◆ Disp
int llvm::X86AddressMode::Disp = 0
◆ GV
◆ GVOpFlags
unsigned llvm::X86AddressMode::GVOpFlags = 0
◆ IndexReg
◆ Scale
unsigned llvm::X86AddressMode::Scale = 1
The documentation for this struct was generated from the following file:
- lib/Target/X86/X86InstrBuilder.h