class InlineAsmLowering

Declaration

class InlineAsmLowering { /* full declaration omitted */ };

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:28

Member Variables

private const llvm::TargetLowering* TLI

Method Overview

  • public InlineAsmLowering(const llvm::TargetLowering * TLI)
  • private virtual void anchor()
  • protected const llvm::TargetLowering * getTLI() const
  • protected template <class XXXTargetLowering>const XXXTargetLowering * getTLI() const
  • public virtual bool lowerAsmOperandForConstraint(llvm::Value * Val, llvm::StringRef Constraint, std::vector<MachineOperand> & Ops, llvm::MachineIRBuilder & MIRBuilder) const
  • public bool lowerInlineAsm(llvm::MachineIRBuilder & MIRBuilder, const llvm::CallBase & CB, std::function<ArrayRef<Register> (const Value &)> GetOrCreateVRegs) const
  • public virtual ~InlineAsmLowering()

Methods

InlineAsmLowering(const llvm::TargetLowering* TLI)

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:61

Parameters

const llvm::TargetLowering* TLI

virtual void anchor()

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:31

const llvm::TargetLowering* getTLI() const

Description

Getter for generic TargetLowering class.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:53

template <class XXXTargetLowering>
const XXXTargetLowering* getTLI() const

Description

Getter for target specific TargetLowering class.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:56

Templates

XXXTargetLowering

virtual bool lowerAsmOperandForConstraint(
    llvm::Value* Val,
    llvm::StringRef Constraint,
    std::vector<MachineOperand>& Ops,
    llvm::MachineIRBuilder& MIRBuilder) const

Description

Lower the specified operand into the Ops vector.\p Val is the IR input value to be lowered\p Constraint is the user supplied constraint string\p Ops is the vector to be filled with the lowered operands

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:47

Parameters

llvm::Value* Val
llvm::StringRef Constraint
std::vector<MachineOperand>& Ops
llvm::MachineIRBuilder& MIRBuilder

Returns

True if the lowering succeeds, false otherwise.

bool lowerInlineAsm(
    llvm::MachineIRBuilder& MIRBuilder,
    const llvm::CallBase& CB,
    std::function<ArrayRef<Register>(
        const Value&)> GetOrCreateVRegs) const

Description

Lower the given inline asm call instruction\p GetOrCreateVRegs is a callback to materialize a register for the input and output operands of the inline asm

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:38

Parameters

llvm::MachineIRBuilder& MIRBuilder
const llvm::CallBase& CB
std::function<ArrayRef<Register>(const Value&)> GetOrCreateVRegs

Returns

True if the lowering succeeds, false otherwise.

virtual ~InlineAsmLowering()

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:62