LLVM 20.0.0git
|
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
using | llvm::MacroFusionPredTy = bool(*)(const TargetInstrInfo &TII, const TargetSubtargetInfo &STI, const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
Check if the instr pair, FirstMI and SecondMI, should be fused together. | |
Functions | |
bool | llvm::hasLessThanNumFused (const SUnit &SU, unsigned FuseLimit) |
Checks if the number of cluster edges between SU and its predecessors is less than FuseLimit. | |
bool | llvm::fuseInstructionPair (ScheduleDAGInstrs &DAG, SUnit &FirstSU, SUnit &SecondSU) |
Create an artificial edge between FirstSU and SecondSU. | |
std::unique_ptr< ScheduleDAGMutation > | llvm::createMacroFusionDAGMutation (ArrayRef< MacroFusionPredTy > Predicates, bool BranchOnly=false) |
Create a DAG scheduling mutation to pair instructions back to back for instructions that benefit according to the target-specific predicate functions. | |