LLVM 17.0.0git
Macros | Functions
InlineAsmLowering.cpp File Reference

This file implements the lowering from LLVM IR inline asm to MIR INLINEASM. More...

#include "llvm/CodeGen/GlobalISel/InlineAsmLowering.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/Module.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "inline-asm-lowering"
 

Functions

static void getRegistersForValue (MachineFunction &MF, MachineIRBuilder &MIRBuilder, GISelAsmOperandInfo &OpInfo, GISelAsmOperandInfo &RefOpInfo)
 Assign virtual/physical registers for the specified register operand.
 
static unsigned getConstraintGenerality (TargetLowering::ConstraintType CT)
 Return an integer indicating how general CT is.
 
static void chooseConstraint (TargetLowering::AsmOperandInfo &OpInfo, const TargetLowering *TLI)
 
static void computeConstraintToUse (const TargetLowering *TLI, TargetLowering::AsmOperandInfo &OpInfo)
 
static unsigned getNumOpRegs (const MachineInstr &I, unsigned OpIdx)
 
static bool buildAnyextOrCopy (Register Dst, Register Src, MachineIRBuilder &MIRBuilder)
 

Detailed Description

This file implements the lowering from LLVM IR inline asm to MIR INLINEASM.

Definition in file InlineAsmLowering.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "inline-asm-lowering"

Definition at line 21 of file InlineAsmLowering.cpp.

Function Documentation

◆ buildAnyextOrCopy()

static bool buildAnyextOrCopy ( Register  Dst,
Register  Src,
MachineIRBuilder MIRBuilder 
)
static

◆ chooseConstraint()

static void chooseConstraint ( TargetLowering::AsmOperandInfo OpInfo,
const TargetLowering TLI 
)
static

◆ computeConstraintToUse()

static void computeConstraintToUse ( const TargetLowering TLI,
TargetLowering::AsmOperandInfo OpInfo 
)
static

◆ getConstraintGenerality()

static unsigned getConstraintGenerality ( TargetLowering::ConstraintType  CT)
static

◆ getNumOpRegs()

static unsigned getNumOpRegs ( const MachineInstr I,
unsigned  OpIdx 
)
static

◆ getRegistersForValue()

static void getRegistersForValue ( MachineFunction MF,
MachineIRBuilder MIRBuilder,
GISelAsmOperandInfo &  OpInfo,
GISelAsmOperandInfo &  RefOpInfo 
)
static