GPUOcelot
|
A pass over a single kernel in a module. More...
#include <Pass.h>
Public Member Functions | |
KernelPass (int a=Analysis::NoAnalysis, const std::string &n="") | |
The default constructor sets the type. | |
virtual | ~KernelPass () |
Virtual destructor. | |
virtual void | initialize (const ir::Module &m)=0 |
Initialize the pass using a specific module. | |
virtual void | runOnKernel (ir::IRKernel &k)=0 |
Run the pass on a specific kernel in the module. | |
virtual void | finalize ()=0 |
Finalize the pass. |
A pass over a single kernel in a module.
transforms::KernelPass::KernelPass | ( | int | a = Analysis::NoAnalysis , |
const std::string & | n = "" |
||
) |
The default constructor sets the type.
transforms::KernelPass::~KernelPass | ( | ) | [virtual] |
Virtual destructor.
virtual void transforms::KernelPass::finalize | ( | ) | [pure virtual] |
Finalize the pass.
Implemented in transforms::ConvertPredicationToSelectPass, transforms::DeadCodeEliminationPass, transforms::IPDOMReconvergencePass, transforms::KernelDrawerPass, transforms::LinearScanRegisterAllocationPass, transforms::MIMDThreadSchedulingPass, transforms::RemoveBarrierPass, transforms::SimplifyExternalCallsPass, transforms::SplitBasicBlockPass, transforms::StructuralTransform, transforms::SubkernelFormationPass::ExtractKernelsPass, and transforms::SyncEliminationPass.
virtual void transforms::KernelPass::initialize | ( | const ir::Module & | m | ) | [pure virtual] |
Initialize the pass using a specific module.
Implemented in transforms::ConvertPredicationToSelectPass, transforms::DeadCodeEliminationPass, transforms::IPDOMReconvergencePass, transforms::KernelDrawerPass, transforms::LinearScanRegisterAllocationPass, transforms::MIMDThreadSchedulingPass, transforms::RemoveBarrierPass, transforms::SimplifyExternalCallsPass, transforms::SplitBasicBlockPass, transforms::StructuralTransform, transforms::SubkernelFormationPass::ExtractKernelsPass, and transforms::SyncEliminationPass.
virtual void transforms::KernelPass::runOnKernel | ( | ir::IRKernel & | k | ) | [pure virtual] |
Run the pass on a specific kernel in the module.
Implemented in transforms::ConvertPredicationToSelectPass, transforms::DeadCodeEliminationPass, transforms::IPDOMReconvergencePass, transforms::KernelDrawerPass, transforms::LinearScanRegisterAllocationPass, transforms::MIMDThreadSchedulingPass, transforms::RemoveBarrierPass, transforms::SimplifyExternalCallsPass, transforms::SplitBasicBlockPass, transforms::StructuralTransform, transforms::SubkernelFormationPass::ExtractKernelsPass, and transforms::SyncEliminationPass.