CodeGen: Hide the private implementation of the block generator

llvm-svn: 151895
diff --git a/polly/lib/CodeGeneration.cpp b/polly/lib/CodeGeneration.cpp
index d1e1736..8bb0a69 100644
--- a/polly/lib/CodeGeneration.cpp
+++ b/polly/lib/CodeGeneration.cpp
@@ -155,6 +155,19 @@
 }
 
 class BlockGenerator {
+public:
+  /// @brief Generate code for single basic block.
+  static void generate(IRBuilder<> &B, ValueMapT &ValueMap,
+                       VectorValueMapT &VectorMaps, ScopStmt &Stmt,
+                       __isl_keep isl_set *Domain, BasicBlock *BB, Pass *P) {
+    BlockGenerator Generator(B, ValueMap, VectorMaps, Stmt, Domain);
+    Generator.copyBB(BB, P);
+  }
+
+private:
+  BlockGenerator(IRBuilder<> &B, ValueMapT &vmap, VectorValueMapT &vmaps,
+                 ScopStmt &Stmt, __isl_keep isl_set *domain);
+
   IRBuilder<> &Builder;
   ValueMapT &VMap;
   VectorValueMapT &ValueMaps;
@@ -162,9 +175,6 @@
   ScopStmt &Statement;
   isl_set *ScatteringDomain;
 
-public:
-  BlockGenerator(IRBuilder<> &B, ValueMapT &vmap, VectorValueMapT &vmaps,
-                 ScopStmt &Stmt, __isl_keep isl_set *domain);
 
   const Region &getRegion();
 
@@ -1070,9 +1080,8 @@
     }
   }
 
-  BlockGenerator Generator(Builder, ValueMap, VectorValueMap, *Statement,
-                           scatteringDomain);
-  Generator.copyBB(BB, P);
+  BlockGenerator::generate(Builder, ValueMap, VectorValueMap, *Statement,
+                           scatteringDomain, BB, P);
 }
 
 void ClastStmtCodeGen::codegen(const clast_block *b) {