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) {