MCPcopy Create free account
hub / github.com/Samsung/UTopia / prepareLLVMAnalysis

Method prepareLLVMAnalysis

lib/target_analysis/TargetLibAnalyzer.cpp:159–182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159void TargetLibAnalyzer::prepareLLVMAnalysis(llvm::Module &M) {
160 llvm::PassBuilder PB;
161 llvm::LoopAnalysisManager LAM;
162 llvm::CGSCCAnalysisManager CGAM;
163 llvm::ModuleAnalysisManager MAM;
164 PB.registerModuleAnalyses(MAM);
165 PB.registerCGSCCAnalyses(CGAM);
166 PB.registerFunctionAnalyses(FAM);
167 PB.registerLoopAnalyses(LAM);
168 PB.crossRegisterProxies(LAM, FAM, CGAM, MAM);
169
170 llvm::LoopPassManager LPM;
171 llvm::FunctionPassManager FPM;
172 llvm::ModulePassManager MPM;
173 FPM.addPass(PromotePass());
174 FPM.addPass(SCCPPass());
175 LPM.addPass(IndVarSimplifyPass());
176 FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM)));
177 MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
178 MPM.run(M, MAM);
179
180 // For handle to indirect calls
181 Solver.solve(M);
182}
183
184} // namespace ftg

Callers

nothing calls this directly

Calls 2

runMethod · 0.45
solveMethod · 0.45

Tested by

no test coverage detected