class Localizer

Declaration

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

Description

This pass implements the localization mechanism described at the top of this file. One specificity of the implementation is that it will materialize one and only one instance of a constant per basic block, thus enabling reuse of that constant within that block. Moreover, it only materializes constants in blocks where they are used. PHI uses are considered happening at the end of the related predecessor.

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

Inherits from: MachineFunctionPass

Member Variables

public static char ID

Method Overview

Inherited from MachineFunctionPass:

Inherited from FunctionPass:

Inherited from Pass:

Methods

Localizer()

Declared at: llvm/include/llvm/CodeGen/GlobalISel/Localizer.h:78

Localizer(
    std::function<bool(const MachineFunction&)>)

Declared at: llvm/include/llvm/CodeGen/GlobalISel/Localizer.h:79

Parameters

std::function<bool(const MachineFunction&)>

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/Localizer.h:90

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/Localizer.h:81

llvm::MachineFunctionProperties
getRequiredProperties() const

Declared at: llvm/include/llvm/CodeGen/GlobalISel/Localizer.h:83

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/Localizer.h:92

Parameters

llvm::MachineFunction& MF