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)
InlineAsmLowering(const llvm::TargetLowering* TLI)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:61
Parameters
- const llvm::TargetLowering* TLI
¶virtual void anchor()
virtual void anchor()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:31
¶const llvm::TargetLowering* getTLI() const
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
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
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
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()
virtual ~InlineAsmLowering()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h:62