LLVM API Documentation
#include "SchedPriorities.h"
#include "llvm/BasicBlock.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/Target/TargetMachine.h"
#include "../MachineCodeForInstruction.h"
#include "../LiveVar/FunctionLiveVarInfo.h"
#include "../SparcV9InstrInfo.h"
#include "llvm/Support/CommandLine.h"
#include <algorithm>
#include <iostream>
Include dependency graph for InstrScheduling.cpp:
Go to the source code of this file.
Namespaces | |
namespace | llvm |
Classes | |
class | llvm::InstrGroup |
class | llvm::ScheduleIterator< _NodeType > |
class | llvm::InstrSchedule |
class | llvm::DelaySlotInfo |
class | llvm::SchedulingManager |
Functions | |
static void | llvm::AssignInstructionsToSlots (class SchedulingManager &S, unsigned maxIssue) |
static void | llvm::RecordSchedule (MachineBasicBlock &MBB, const SchedulingManager &S) |
static void | llvm::MarkSuccessorsReady (SchedulingManager &S, const SchedGraphNode *node) |
static unsigned | llvm::FindSlotChoices (SchedulingManager &S, DelaySlotInfo *&getDelaySlotInfo) |
static unsigned | llvm::ChooseOneGroup (SchedulingManager &S) |
static void | llvm::ForwardListSchedule (SchedulingManager &S) |
static bool | llvm::NodeCanFillDelaySlot (const SchedulingManager &S, const SchedGraphNode *node, const SchedGraphNode *brNode, bool nodeIsPredecessor) |
static void | llvm::MarkNodeForDelaySlot (SchedulingManager &S, SchedGraph *graph, SchedGraphNode *node, const SchedGraphNode *brNode, bool nodeIsPredecessor) |
void | llvm::FindUsefulInstructionsForDelaySlots (SchedulingManager &S, SchedGraphNode *brNode, std::vector< SchedGraphNode * > &sdelayNodeVec) |
static void | llvm::ReplaceNopsWithUsefulInstr (SchedulingManager &S, SchedGraphNode *node, std::vector< SchedGraphNode * > sdelayNodeVec, SchedGraph *graph) |
static void | llvm::ChooseInstructionsForDelaySlots (SchedulingManager &S, MachineBasicBlock &MBB, SchedGraph *graph) |
static bool | llvm::ConflictsWithChoices (const SchedulingManager &S, MachineOpCode opCode) |
static bool | llvm::ViolatesMinimumGap (const SchedulingManager &S, MachineOpCode opCode, const cycles_t inCycle) |
bool | llvm::instrIsFeasible (const SchedulingManager &S, MachineOpCode opCode) |
FunctionPass * | llvm::createInstructionSchedulingWithSSAPass (const TargetMachine &TM) |
Variables | |
SchedDebugLevel_t | llvm::SchedDebugLevel |
static cl::opt< bool > | llvm::EnableFillingDelaySlots ("sched-fill-delay-slots", cl::desc("Fill branch delay slots during local scheduling")) |
static cl::opt< SchedDebugLevel_t, true > | llvm::SDL_opt ("dsched", cl::Hidden, cl::location(SchedDebugLevel), cl::desc("enable instruction scheduling debugging information"), cl::values(clEnumValN(Sched_NoDebugInfo,"n","disable debug output"), clEnumValN(Sched_PrintMachineCode,"y","print machine code after scheduling"), clEnumValN(Sched_PrintSchedTrace,"t","print trace of scheduling actions"), clEnumValN(Sched_PrintSchedGraphs,"g","print scheduling graphs"), clEnumValEnd)) |
|
Definition at line 1441 of file InstrScheduling.cpp. Referenced by llvm::ModuloSchedulingPass::runOnFunction(), llvm::ModRefInfoBuilder::visitLoadInst(), and llvm::ModRefInfoBuilder::visitStoreInst(). |