ClearBlue
Public Member Functions | Protected Attributes
BotUpParallelPass Class Referenceabstract
Inheritance diagram for BotUpParallelPass:
Inheritance graph
[legend]
Collaboration diagram for BotUpParallelPass:
Collaboration graph
[legend]

Public Member Functions

 BotUpParallelPass (char &ID, unsigned NumTasks)
 
virtual void getAnalysisUsage (AnalysisUsage &AU) const override
 
virtual bool runOnModule (Module &M) override
 
virtual bool runOnFunction (Function &F)=0
 
virtual bool runOnFunction (Function &F, unsigned TaskID)=0
 
virtual bool releaseMemory (Function &F)=0
 
virtual bool internallyDepends (unsigned TaskAID, unsigned TaskBID)=0
 
virtual bool externallyDepends (unsigned CallerTaskID, unsigned CalleeTaskID)=0
 
bool toCheck (const Function *Func)
 return true if the function should be in the dependence graph
 

Protected Attributes

CBCallGraph * CG = nullptr
 
SymbolicExprGraphBuilderSEGBuilder = nullptr
 

Member Function Documentation

◆ externallyDepends()

virtual bool BotUpParallelPass::externallyDepends ( unsigned  CallerTaskID,
unsigned  CalleeTaskID 
)
pure virtual

override this function to determine the task dependency between caller and callee returns true if CallerTask depends on CalleeTask

Implemented in SailfishChecker.

◆ internallyDepends()

virtual bool BotUpParallelPass::internallyDepends ( unsigned  TaskAID,
unsigned  TaskBID 
)
pure virtual

override this function to determine the task dependency in a single function returns true if TaskA depends on TaskB

Implemented in SailfishChecker.

◆ releaseMemory()

virtual bool BotUpParallelPass::releaseMemory ( Function &  F)
pure virtual

Release the memory for storing intermediate results produced during the analysis of F This is done automatically when the results are no longer needed.

Implemented in SailfishChecker.

◆ runOnFunction()

virtual bool BotUpParallelPass::runOnFunction ( Function &  F,
unsigned  TaskID 
)
pure virtual

override this function to define the tasks in each function a simple example is like: assert(TaskID < getNumTasksEachFunction()); switch(TaskID) { case 0: doTask0(); break; case 1: doTask1(); break; ... }

Implemented in SailfishChecker.


The documentation for this class was generated from the following files:
Notifier
Definition: cb-check.cpp:313