LLVM API Documentation

llvm::ModuloSchedulingPass Class Reference

#include <ModuloScheduling.h>

Inheritance diagram for llvm::ModuloSchedulingPass:

Inheritance graph
[legend]
Collaboration diagram for llvm::ModuloSchedulingPass:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ModuloSchedulingPass (TargetMachine &targ)
virtual bool runOnFunction (Function &F)
virtual const char * getPassName () const
virtual void getAnalysisUsage (AnalysisUsage &AU) const

Detailed Description

Definition at line 43 of file ModuloScheduling.h.


Constructor & Destructor Documentation

llvm::ModuloSchedulingPass::ModuloSchedulingPass ( TargetMachine targ  )  [inline]

Definition at line 151 of file ModuloScheduling.h.


Member Function Documentation

virtual void llvm::ModuloSchedulingPass::getAnalysisUsage ( AnalysisUsage AU  )  const [inline, virtual]

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 156 of file ModuloScheduling.h.

References llvm::AnalysisUsage::addRequired().

virtual const char* llvm::ModuloSchedulingPass::getPassName (  )  const [inline, virtual]

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly, and if nothing else is available, C++ RTTI will be consulted to get a SOMEWHAT intelligible name for the pass.

Reimplemented from llvm::Pass.

Definition at line 153 of file ModuloScheduling.h.

bool ModuloSchedulingPass::runOnFunction ( Function F  )  [virtual]

ModuloScheduling::runOnFunction - main transformation entry point The Swing Modulo Schedule algorithm has three basic steps: 1) Computation and Analysis of the dependence graph 2) Ordering of the nodes 3) Scheduling

Implements llvm::FunctionPass.

Definition at line 155 of file ModuloScheduling.cpp.

References Changed, llvm::MSSchedule::clear(), llvm::X86II::DA, DEBUG, E, F, llvm::FinalIISum, llvm::MachineFunction::get(), llvm::MSSchedule::getMaxStage(), I, II, llvm::IISum, llvm::JumboBB, MF, llvm::MSLoops, llvm::NoSched, llvm::MSSchedule::print(), llvm::MSchedGraph::print(), llvm::RecurrenceConstraint, llvm::ResourceConstraint, llvm::SameStage, target, llvm::ValidLoops, and WriteGraphToFile().


The documentation for this class was generated from the following files: