LLVM 19.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.


#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 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 

◆ computeConstraintToUse()

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

◆ getNumOpRegs()

static unsigned getNumOpRegs ( const MachineInstr I,
unsigned  OpIdx 

Definition at line 177 of file InlineAsmLowering.cpp.

References F, and I.

Referenced by llvm::InlineAsmLowering::lowerInlineAsm().

◆ getRegistersForValue()

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