LLVM 20.0.0git
Classes | Namespaces | Functions
X86InstrBuilder.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/MC/MCInstrDesc.h"
#include <cassert>

Go to the source code of this file.

Classes

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

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

static X86AddressMode llvm::getAddressFromInstr (const MachineInstr *MI, unsigned Operand)
 Compute the addressing mode from an machine instruction starting with the given operand.
 
static const MachineInstrBuilder & llvm::addDirectMem (const MachineInstrBuilder &MIB, unsigned Reg)
 addDirectMem - This function is used to add a direct memory reference to the current instruction – that is, a dereference of an address in a register, with no scale, index or displacement.
 
static void llvm::setDirectAddressInInstr (MachineInstr *MI, unsigned Operand, unsigned Reg)
 Replace the address used in the instruction with the direct memory reference.
 
static const MachineInstrBuilder & llvm::addOffset (const MachineInstrBuilder &MIB, int Offset)
 
static const MachineInstrBuilder & llvm::addOffset (const MachineInstrBuilder &MIB, const MachineOperand &Offset)
 
static const MachineInstrBuilder & llvm::addRegOffset (const MachineInstrBuilder &MIB, unsigned Reg, bool isKill, int Offset)
 addRegOffset - This function is used to add a memory reference of the form [Reg + Offset], i.e., one with no scale or index, but with a displacement.
 
static const MachineInstrBuilder & llvm::addRegReg (const MachineInstrBuilder &MIB, unsigned Reg1, bool isKill1, unsigned Reg2, bool isKill2)
 addRegReg - This function is used to add a memory reference of the form: [Reg + Reg].
 
static const MachineInstrBuilder & llvm::addFullAddress (const MachineInstrBuilder &MIB, const X86AddressMode &AM)
 
static const MachineInstrBuilder & llvm::addFrameReference (const MachineInstrBuilder &MIB, int FI, int Offset=0)
 addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function.
 
static const MachineInstrBuilder & llvm::addConstantPoolReference (const MachineInstrBuilder &MIB, unsigned CPI, unsigned GlobalBaseReg, unsigned char OpFlags)
 addConstantPoolReference - This function is used to add a reference to the base of a constant value spilled to the per-function constant pool.