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"
Include dependency graph for InlineAsmLowering.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "inline-asm-lowering"


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


#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 

◆ chooseConstraint()

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

◆ computeConstraintToUse()

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

◆ getConstraintGenerality()

static unsigned getConstraintGenerality ( TargetLowering::ConstraintType  CT)

◆ getNumOpRegs()

static unsigned getNumOpRegs ( const MachineInstr I,
unsigned  OpIdx 

◆ getRegistersForValue()

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