Create a DAG mutation that fuses instruction pairs matching the given predicates.

Synopsis

Declared in <llvm/CodeGen/MacroFusion.h>

std::unique_ptr<ScheduleDAGMutation>
createMacroFusionDAGMutation(
    ArrayRef<MacroFusionPredTy> Predicates,
    bool BranchOnly = false);

Description

Create a DAG scheduling mutation to pair instructions back to back for instructions that benefit according to the target‐specific predicate functions. shouldScheduleAdjacent will be true if any of the provided predicates are true. If BranchOnly is true, only branch instructions with one of their predecessors will be fused.

Return Value

A new ScheduleDAGMutation, or null if macro fusion is disabled.

Parameters

Name

Description

Predicates

Target‐specific predicates that decide which instruction pairs should be fused.

BranchOnly

If true, only fuse a branch with one of its predecessors.

Created with MrDocs