class RegBankSelect::InstrInsertPoint

Declaration

class RegBankSelect::InstrInsertPoint : public InsertPoint { /* full declaration omitted */ };

Description

Insertion point before or after an instruction.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:203

Inherits from: RegBankSelect::InsertPoint

Member Variables

Inherited from RegBankSelect::InsertPoint:

protected WasMaterialized = false

Method Overview

Inherited from RegBankSelect::InsertPoint:

Methods

InstrInsertPoint(llvm::MachineInstr& Instr,
                 bool Before = true)

Description

Create an insertion point before (\p Before=true) or after \p Instr.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:226

Parameters

llvm::MachineInstr& Instr
bool Before = true

bool canMaterialize() const

Description

Check whether this insertion point can be materialized. As soon as ::getPoint is called and thus, the point materialized calling this method does not make sense.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:232

uint64_t frequency(const llvm::Pass& P) const

Description

Frequency of the insertion point.\p P is used to access the various analysis that will help to get that information, like MachineBlockFrequencyInfo. If \p P does not contain enough enough to return the actual frequency, this returns 1.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:229

Parameters

const llvm::Pass& P

bool isSplit() const

Description

Does this point involve splitting an edge or block? As soon as ::getPoint is called and thus, the point materialized, the point will not require splitting anymore, i.e., this will return false.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h:228