MCPcopy Create free account
hub / github.com/AdaptiveCpp/AdaptiveCpp / run

Method run

src/compiler/cbs/SimplifyKernel.cpp:58–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56}
57
58llvm::PreservedAnalyses
59hipsycl::compiler::SimplifyKernelPass::run(llvm::Function &F, llvm::FunctionAnalysisManager &AM) {
60 const auto &MAMProxy = AM.getResult<llvm::ModuleAnalysisManagerFunctionProxy>(F);
61 const auto *SAA = MAMProxy.getCachedResult<SplitterAnnotationAnalysis>(*F.getParent());
62 assert(SAA && "Must have SplitterAnnotationAnalysis cached!");
63 if (!SAA->isKernelFunc(&F))
64 return llvm::PreservedAnalyses::all();
65
66 auto &DT = AM.getResult<llvm::DominatorTreeAnalysis>(F);
67 auto &AC = AM.getResult<llvm::AssumptionAnalysis>(F);
68
69 if (!simplifyKernel(F, DT, AC))
70 return llvm::PreservedAnalyses::all();
71
72 llvm::PreservedAnalyses PA;
73 PA.preserveSet<llvm::CFGAnalyses>();
74 PA.preserve<SplitterAnnotationAnalysis>();
75 return PA;
76}
77
78char hipsycl::compiler::SimplifyKernelPassLegacy::ID = 0;

Callers

nothing calls this directly

Calls 2

simplifyKernelFunction · 0.85
isKernelFuncMethod · 0.80

Tested by

no test coverage detected