1- // ===- ConvergenceRegionAnalysis.h -----------------------------*- C++ -* --===//
1+ // ===-------------------------------------------------------------------- --===//
22//
33// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
44// See https://llvm.org/LICENSE.txt for license information.
2424#define DEBUG_TYPE " spirv-convergence-region-analysis"
2525
2626using namespace llvm ;
27+ using namespace SPIRV ;
2728
2829namespace llvm {
2930void initializeSPIRVConvergenceRegionAnalysisWrapperPassPass (PassRegistry &);
@@ -39,8 +40,6 @@ INITIALIZE_PASS_END(SPIRVConvergenceRegionAnalysisWrapperPass,
3940 " convergence-region" , " SPIRV convergence regions analysis" ,
4041 true , true )
4142
42- namespace llvm {
43- namespace SPIRV {
4443namespace {
4544
4645template <typename BasicBlockType, typename IntrinsicInstType>
@@ -74,12 +73,13 @@ getConvergenceTokenInternal(BasicBlockType *BB) {
7473
7574 return std::nullopt ;
7675}
76+ } // anonymous namespace
7777
7878// Given a ConvergenceRegion tree with |Start| as its root, finds the smallest
7979// region |Entry| belongs to. If |Entry| does not belong to the region defined
8080// by |Start|, this function returns |nullptr|.
81- ConvergenceRegion *findParentRegion (ConvergenceRegion *Start,
82- BasicBlock *Entry) {
81+ static ConvergenceRegion *findParentRegion (ConvergenceRegion *Start,
82+ BasicBlock *Entry) {
8383 ConvergenceRegion *Candidate = nullptr ;
8484 ConvergenceRegion *NextCandidate = Start;
8585
@@ -102,13 +102,13 @@ ConvergenceRegion *findParentRegion(ConvergenceRegion *Start,
102102 return Candidate;
103103}
104104
105- } // anonymous namespace
106-
107- std::optional<IntrinsicInst *> getConvergenceToken (BasicBlock *BB) {
105+ std::optional<IntrinsicInst *>
106+ llvm::SPIRV::getConvergenceToken (BasicBlock *BB) {
108107 return getConvergenceTokenInternal<BasicBlock, IntrinsicInst>(BB);
109108}
110109
111- std::optional<const IntrinsicInst *> getConvergenceToken (const BasicBlock *BB) {
110+ std::optional<const IntrinsicInst *>
111+ llvm::SPIRV::getConvergenceToken (const BasicBlock *BB) {
112112 return getConvergenceTokenInternal<const BasicBlock, const IntrinsicInst>(BB);
113113}
114114
@@ -187,8 +187,8 @@ void ConvergenceRegion::dump(const unsigned IndentSize) const {
187187 dbgs () << Indent << " }\n " ;
188188}
189189
190+ namespace {
190191class ConvergenceRegionAnalyzer {
191-
192192public:
193193 ConvergenceRegionAnalyzer (Function &F, DominatorTree &DT, LoopInfo &LI)
194194 : DT(DT), LI(LI), F(F) {}
@@ -305,15 +305,15 @@ class ConvergenceRegionAnalyzer {
305305 LoopInfo &LI;
306306 Function &F;
307307};
308+ } // anonymous namespace
308309
309- ConvergenceRegionInfo getConvergenceRegions (Function &F, DominatorTree &DT,
310- LoopInfo &LI) {
310+ ConvergenceRegionInfo llvm::SPIRV::getConvergenceRegions (Function &F,
311+ DominatorTree &DT,
312+ LoopInfo &LI) {
311313 ConvergenceRegionAnalyzer Analyzer (F, DT, LI);
312314 return Analyzer.analyze ();
313315}
314316
315- } // namespace SPIRV
316-
317317char SPIRVConvergenceRegionAnalysisWrapperPass::ID = 0 ;
318318
319319SPIRVConvergenceRegionAnalysisWrapperPass::
@@ -339,5 +339,3 @@ SPIRVConvergenceRegionAnalysis::run(Function &F, FunctionAnalysisManager &AM) {
339339}
340340
341341AnalysisKey SPIRVConvergenceRegionAnalysis::Key;
342-
343- } // namespace llvm
0 commit comments