class InstructionSelect

Declaration

class InstructionSelect : public MachineFunctionPass { /* full declaration omitted */ };

Description

This pass is responsible for selecting generic machine instructions to target-specific instructions. It relies on the InstructionSelector provided by the target. Selection is done by examining blocks in post-order, and instructions in reverse order.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:33

Inherits from: MachineFunctionPass

Member Variables

protected llvm::BlockFrequencyInfo* BFI = nullptr
protected llvm::ProfileSummaryInfo* PSI = nullptr
protected CodeGenOpt::Level OptLevel = CodeGenOpt::None
public static char ID

Method Overview

Inherited from MachineFunctionPass:

Inherited from FunctionPass:

Inherited from Pass:

Methods

InstructionSelect(CodeGenOpt::Level OL)

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:52

Parameters

CodeGenOpt::Level OL

InstructionSelect()

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

void getAnalysisUsage(
    llvm::AnalysisUsage& AU) const

Description

getAnalysisUsage - Subclasses that override getAnalysisUsage must call this. For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.

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

Parameters

llvm::AnalysisUsage& AU

llvm::StringRef getPassName() const

Description

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:36

llvm::MachineFunctionProperties
getRequiredProperties() const

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:40

llvm::MachineFunctionProperties getSetProperties()
    const

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

bool runOnMachineFunction(
    llvm::MachineFunction& MF)

Description

runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:55

Parameters

llvm::MachineFunction& MF