CRTP base for new‐PM machine loop‐invariant code motion passes.

Synopsis

Declared in <llvm/CodeGen/MachineLICM.h>

template<
    typename DerivedT,
    bool PreRegAlloc>
class MachineLICMBasePass
    : public OptionalPassInfoMixin<DerivedT>

Description

Hoists simple loop‐invariant machine instructions out of loops. Not a replacement for IR‐level LICM; it targets constructs exposed only after lowering and instruction selection.

Base Classes

Name

Description

OptionalPassInfoMixin<DerivedT>

A CRTP mix‐in for passes that can be skipped.

Member Functions

Name

Description

printPipeline

Print this pass as a single name in a textual pipeline.

run

Run machine LICM on MF.

Static Member Functions

Name

Description

isRequired

Return false; optional passes may be skipped.

Derived Classes

Name

Description

EarlyMachineLICMPass

New PM pass that performs machine LICM before register allocation.

MachineLICMPass

New PM pass that performs machine LICM after register allocation.

Template Parameters

Name

Description

DerivedT

Concrete pass type that inherits from this base.

PreRegAlloc

True to run before register allocation; false after.

Created with MrDocs