Static Value-Flow Analysis
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. More...
 

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

◆ 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: