|
LLVM
8.0.1
|
#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"
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< bool > | EnableMacroFusion ("misched-fusion", cl::Hidden, cl::desc("Enable scheduling for macro fusion."), cl::init(true)) |
| #define DEBUG_TYPE "machine-scheduler" |
Definition at line 27 of file MacroFusion.cpp.
|
static |
Definition at line 40 of file MacroFusion.cpp.
References llvm::ScheduleDAGMI::addEdge(), llvm::cl::apply(), llvm::SDep::Artificial, llvm::SDep::Cluster, llvm::dbgs(), llvm::ScheduleDAG::dumpNodeName(), llvm::ScheduleDAG::EntrySU, llvm::ScheduleDAG::ExitSU, llvm::SUnit::getInstr(), llvm::MCInstrInfo::getName(), llvm::MachineInstr::getOpcode(), llvm::MachineFunction::getSubtarget(), llvm::SDep::getSUnit(), llvm::SUnit::isBoundaryNode(), llvm::SDep::isCluster(), isHazard(), llvm::SUnit::isPred(), llvm::SUnit::isSucc(), llvm::SDep::isWeak(), LLVM_DEBUG, llvm::ScheduleDAG::MF, llvm::SUnit::Preds, llvm::SDep::setLatency(), llvm::shouldScheduleAdjacent(), SI, llvm::ARM_MB::ST, llvm::SUnit::Succs, llvm::ScheduleDAG::SUnits, TII, and llvm::ScheduleDAG::TII.
Definition at line 36 of file MacroFusion.cpp.
References llvm::SDep::Anti, llvm::SDep::getKind(), and llvm::SDep::Output.
Referenced by fuseInstructionPair().
| STATISTIC | ( | NumFused | , |
| "Number of instr pairs fused" | |||
| ) |
|
static |
Referenced by llvm::createBranchMacroFusionDAGMutation(), and llvm::createMacroFusionDAGMutation().
1.8.13