#include <BreakConstantExpr.h>
Definition at line 57 of file BreakConstantExpr.h.
◆ MergeFunctionRets()
| SVF::MergeFunctionRets::MergeFunctionRets |
( |
| ) |
|
|
inline |
◆ getPassName()
| llvm::StringRef SVF::MergeFunctionRets::getPassName |
( |
| ) |
const |
|
inline |
Definition at line 67 of file BreakConstantExpr.h.
68 {
69 return "unify function exit into one dummy exit basic block";
70 }
◆ getUnifyExit()
Get Unified Exit basic block node.
Definition at line 107 of file BreakConstantExpr.h.
108 {
109 assert(!
fn.isDeclaration() &&
"external function does not have DF");
111 }
llvm::IRBuilder IRBuilder
◆ runOnModule()
Definition at line 71 of file BreakConstantExpr.h.
72 {
74 return true;
75 }
void UnifyFunctionExit(Module &module)
◆ UnifyFunctionExit()
| void SVF::MergeFunctionRets::UnifyFunctionExit |
( |
Module & |
module | ) |
|
|
inline |
Definition at line 76 of file BreakConstantExpr.h.
77 {
80 {
82 if(fun.isDeclaration())
83 continue;
84#if LLVM_VERSION_MAJOR > 16
86 llvm::LoopAnalysisManager
LAM;
87 llvm::FunctionAnalysisManager
FAM;
88 llvm::CGSCCAnalysisManager
CGAM;
89 llvm::ModuleAnalysisManager
MAM;
90
91 PB.registerModuleAnalyses(
MAM);
92 PB.registerCGSCCAnalyses(
CGAM);
93 PB.registerFunctionAnalyses(
FAM);
94 PB.registerLoopAnalyses(
LAM);
96
97 llvm::FunctionPassManager
FPM;
98 FPM.addPass(llvm::UnifyFunctionExitNodesPass());
99 FPM.run(
const_cast<llvm::Function&
>(fun),
FAM);
100 }
101 }
102#else
104 }
105 }
UnifyFunctionExitNodes * getUnifyExit(const Function &fn)
Get Unified Exit basic block node.
◆ ID
| char MergeFunctionRets::ID = 0 |
|
static |
The documentation for this class was generated from the following files: