LLVM 23.0.0git
llvm::RISCVInlineAsmLowering Class Reference

#include "Target/RISCV/GISel/RISCVInlineAsmLowering.h"

Inheritance diagram for llvm::RISCVInlineAsmLowering:
[legend]

Public Member Functions

 RISCVInlineAsmLowering (const TargetLowering *TLI)
bool lowerAsmOperandForConstraint (Value *Val, StringRef Constraint, std::vector< MachineOperand > &Ops, MachineIRBuilder &MIRBuilder) const override
 Lower the specified operand into the Ops vector.
Public Member Functions inherited from llvm::InlineAsmLowering
bool lowerInlineAsm (MachineIRBuilder &MIRBuilder, const CallBase &CB, std::function< ArrayRef< Register >(const Value &Val)> GetOrCreateVRegs) const
 Lower the given inline asm call instruction GetOrCreateVRegs is a callback to materialize a register for the input and output operands of the inline asm.
 InlineAsmLowering (const TargetLowering *TLI)
virtual ~InlineAsmLowering ()=default

Additional Inherited Members

Protected Member Functions inherited from llvm::InlineAsmLowering
const TargetLoweringgetTLI () const
 Getter for generic TargetLowering class.
template<class XXXTargetLowering>
const XXXTargetLowering * getTLI () const
 Getter for target specific TargetLowering class.

Detailed Description

Definition at line 18 of file RISCVInlineAsmLowering.h.

Constructor & Destructor Documentation

◆ RISCVInlineAsmLowering()

RISCVInlineAsmLowering::RISCVInlineAsmLowering ( const TargetLowering * TLI)

Member Function Documentation

◆ lowerAsmOperandForConstraint()

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

Lower the specified operand into the Ops vector.

Val is the IR input value to be lowered Constraint is the user supplied constraint string Ops is the vector to be filled with the lowered operands

Returns
True if the lowering succeeds, false otherwise.

Reimplemented from llvm::InlineAsmLowering.

Definition at line 26 of file RISCVInlineAsmLowering.cpp.

References AbstractManglingParser< Derived, Alloc >::Ops, llvm::MachineOperand::CreateImm(), llvm::dyn_cast(), llvm::isInt(), llvm::isUInt(), llvm::InlineAsmLowering::lowerAsmOperandForConstraint(), and llvm::StringRef::size().


The documentation for this class was generated from the following files: