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: