LLVM  6.0.0svn
Namespaces | Typedefs | Functions
MacroFusion.h File Reference
#include <functional>
#include <memory>
Include dependency graph for MacroFusion.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Typedefs

using llvm::ShouldSchedulePredTy = std::function< bool(const TargetInstrInfo &TII, const TargetSubtargetInfo &TSI, const MachineInstr *FirstMI, const MachineInstr &SecondMI)>
 Check if the instr pair, FirstMI and SecondMI, should be fused together. More...
 

Functions

std::unique_ptr< ScheduleDAGMutationllvm::createMacroFusionDAGMutation (ShouldSchedulePredTy shouldScheduleAdjacent)
 Create a DAG scheduling mutation to pair instructions back to back for instructions that benefit according to the target-specific shouldScheduleAdjacent predicate function. More...
 
std::unique_ptr< ScheduleDAGMutationllvm::createBranchMacroFusionDAGMutation (ShouldSchedulePredTy shouldScheduleAdjacent)
 Create a DAG scheduling mutation to pair branch instructions with one of their predecessors back to back for instructions that benefit according to the target-specific shouldScheduleAdjacent predicate function. More...