LLVM 22.0.0git
ARMMacroFusion.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

static bool llvm::isAESPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI)
static bool llvm::isLiteralsPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI)
static bool llvm::shouldScheduleAdjacent (const TargetInstrInfo &TII, const TargetSubtargetInfo &TSI, const MachineInstr *FirstMI, const MachineInstr &SecondMI)
 Check if the instr pair, FirstMI and SecondMI, should be fused together.
std::unique_ptr< ScheduleDAGMutationllvm::createARMMacroFusionDAGMutation ()
 Note that you have to add: DAG.addMutation(createARMMacroFusionDAGMutation()); to ARMTargetMachine::createMachineScheduler() to have an effect.