Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
SVF::MergeFunctionRets Class Reference

#include <BreakConstantExpr.h>

Inheritance diagram for SVF::MergeFunctionRets:

Public Member Functions

 MergeFunctionRets ()
 
llvm::StringRef getPassName () const
 
virtual bool runOnModule (Module &M)
 
void UnifyFunctionExit (Module &module)
 
UnifyFunctionExitNodesgetUnifyExit (const Function &fn)
 Get Unified Exit basic block node.
 

Static Public Attributes

static char ID = 0
 

Detailed Description

Definition at line 54 of file BreakConstantExpr.h.

Constructor & Destructor Documentation

◆ MergeFunctionRets()

SVF::MergeFunctionRets::MergeFunctionRets ( )
inline

Definition at line 63 of file BreakConstantExpr.h.

63: ModulePass(ID) {}
llvm::ModulePass ModulePass
Definition BasicTypes.h:73

Member Function Documentation

◆ getPassName()

llvm::StringRef SVF::MergeFunctionRets::getPassName ( ) const
inline

Definition at line 64 of file BreakConstantExpr.h.

65 {
66 return "unify function exit into one dummy exit basic block";
67 }

◆ getUnifyExit()

UnifyFunctionExitNodes * SVF::MergeFunctionRets::getUnifyExit ( const Function fn)
inline

Get Unified Exit basic block node.

Definition at line 85 of file BreakConstantExpr.h.

86 {
87 assert(!fn.isDeclaration() && "external function does not have DF");
88 return &getAnalysis<UnifyFunctionExitNodes>(const_cast<Function&>(fn));
89 }
llvm::Function Function
Definition BasicTypes.h:85
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74

◆ runOnModule()

virtual bool SVF::MergeFunctionRets::runOnModule ( Module M)
inlinevirtual

Definition at line 68 of file BreakConstantExpr.h.

69 {
71 return true;
72 }
void UnifyFunctionExit(Module &module)

◆ UnifyFunctionExit()

void SVF::MergeFunctionRets::UnifyFunctionExit ( Module module)
inline

Definition at line 73 of file BreakConstantExpr.h.

74 {
75 for (Module::const_iterator iter = module.begin(), eiter = module.end();
76 iter != eiter; ++iter)
77 {
78 const Function& fun = *iter;
79 if(fun.isDeclaration())
80 continue;
81 getUnifyExit(fun)->runOnFunction(const_cast<Function&>(fun));
82 }
83 }
UnifyFunctionExitNodes * getUnifyExit(const Function &fn)
Get Unified Exit basic block node.

Member Data Documentation

◆ ID

char MergeFunctionRets::ID = 0
static

Definition at line 62 of file BreakConstantExpr.h.


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