LLVM 20.0.0git
|
#include "ARMMacroFusion.h"
#include "ARMSubtarget.h"
#include "llvm/CodeGen/MacroFusion.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
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< ScheduleDAGMutation > | llvm::createARMMacroFusionDAGMutation () |
Note that you have to add: DAG.addMutation(createARMMacroFusionDAGMutation()); to ARMPassConfig::createMachineScheduler() to have an effect. | |