LLVM 19.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::X86AddressMode Struct Reference

X86AddressMode - This struct holds a generalized full x86 address mode. More...

#include "Target/X86/X86InstrBuilder.h"

Public Types

enum  { RegBase , FrameIndexBase }
 

Public Member Functions

 X86AddressMode ()
 
void getFullAddress (SmallVectorImpl< MachineOperand > &MO)
 

Public Attributes

enum llvm::X86AddressMode:: { ... }  BaseType
 
union {
   unsigned   Reg
 
   int   FrameIndex
 
Base
 
unsigned Scale
 
unsigned IndexReg
 
int Disp
 
const GlobalValueGV
 
unsigned GVOpFlags
 

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

anonymous enum
Enumerator
RegBase 
FrameIndexBase 

Definition at line 43 of file X86InstrBuilder.h.

Constructor & Destructor Documentation

◆ X86AddressMode()

llvm::X86AddressMode::X86AddressMode ( )
inline

Definition at line 59 of file X86InstrBuilder.h.

References Base.

Member Function Documentation

◆ getFullAddress()

void llvm::X86AddressMode::getFullAddress ( SmallVectorImpl< MachineOperand > &  MO)
inline

Member Data Documentation

◆ 

union { ... } llvm::X86AddressMode::Base

◆ 

enum { ... } llvm::X86AddressMode::BaseType

◆ Disp

int llvm::X86AddressMode::Disp

◆ FrameIndex

int llvm::X86AddressMode::FrameIndex

◆ GV

const GlobalValue* llvm::X86AddressMode::GV

◆ GVOpFlags

unsigned llvm::X86AddressMode::GVOpFlags

Definition at line 57 of file X86InstrBuilder.h.

Referenced by llvm::addFullAddress(), and getFullAddress().

◆ IndexReg

unsigned llvm::X86AddressMode::IndexReg

◆ Reg

unsigned llvm::X86AddressMode::Reg

◆ Scale

unsigned llvm::X86AddressMode::Scale

The documentation for this struct was generated from the following file: