LLVM  8.0.1
Macros | Functions | Variables
MacroFusion.cpp File Reference
#include "llvm/CodeGen/MacroFusion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineScheduler.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/ScheduleDAGMutation.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for MacroFusion.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "machine-scheduler"
 

Functions

 STATISTIC (NumFused, "Number of instr pairs fused")
 
static bool isHazard (const SDep &Dep)
 
static bool fuseInstructionPair (ScheduleDAGMI &DAG, SUnit &FirstSU, SUnit &SecondSU)
 

Variables

static cl::opt< boolEnableMacroFusion ("misched-fusion", cl::Hidden, cl::desc("Enable scheduling for macro fusion."), cl::init(true))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "machine-scheduler"

Definition at line 27 of file MacroFusion.cpp.

Function Documentation

◆ fuseInstructionPair()

static bool fuseInstructionPair ( ScheduleDAGMI DAG,
SUnit FirstSU,
SUnit SecondSU 
)
static

◆ isHazard()

static bool isHazard ( const SDep Dep)
static

Definition at line 36 of file MacroFusion.cpp.

References llvm::SDep::Anti, llvm::SDep::getKind(), and llvm::SDep::Output.

Referenced by fuseInstructionPair().

◆ STATISTIC()

STATISTIC ( NumFused  ,
"Number of instr pairs fused"   
)

Variable Documentation

◆ EnableMacroFusion

cl::opt<bool> EnableMacroFusion("misched-fusion", cl::Hidden, cl::desc("Enable scheduling for macro fusion."), cl::init(true))
static