summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/include/polly/LinkAllPasses.h6
-rw-r--r--polly/lib/Support/RegisterPasses.cpp7
2 files changed, 13 insertions, 0 deletions
diff --git a/polly/include/polly/LinkAllPasses.h b/polly/include/polly/LinkAllPasses.h
index 6f92fe098b7..77cb7183ca7 100644
--- a/polly/include/polly/LinkAllPasses.h
+++ b/polly/include/polly/LinkAllPasses.h
@@ -42,7 +42,9 @@ llvm::Pass *createScopInfoRegionPassPass();
llvm::Pass *createScopInfoWrapperPassPass();
llvm::Pass *createIslAstInfoPass();
llvm::Pass *createCodeGenerationPass();
+#ifdef GPU_CODEGEN
llvm::Pass *createPPCGCodeGenerationPass();
+#endif
llvm::Pass *createIslScheduleOptimizerPass();
extern char &CodePreparationID;
@@ -72,7 +74,9 @@ struct PollyForcePassLinking {
polly::createPollyCanonicalizePass();
polly::createIslAstInfoPass();
polly::createCodeGenerationPass();
+#ifdef GPU_CODEGEN
polly::createPPCGCodeGenerationPass();
+#endif
polly::createIslScheduleOptimizerPass();
}
} PollyForcePassLinking; // Force link by creating a global definition.
@@ -86,7 +90,9 @@ void initializeJSONExporterPass(llvm::PassRegistry &);
void initializeJSONImporterPass(llvm::PassRegistry &);
void initializeIslAstInfoPass(llvm::PassRegistry &);
void initializeCodeGenerationPass(llvm::PassRegistry &);
+#ifdef GPU_CODEGEN
void initializePPCGCodeGenerationPass(llvm::PassRegistry &);
+#endif
void initializeIslScheduleOptimizerPass(llvm::PassRegistry &);
void initializePollyCanonicalizePass(llvm::PassRegistry &);
} // namespace llvm
diff --git a/polly/lib/Support/RegisterPasses.cpp b/polly/lib/Support/RegisterPasses.cpp
index 94ef4fc486e..822b23b1d21 100644
--- a/polly/lib/Support/RegisterPasses.cpp
+++ b/polly/lib/Support/RegisterPasses.cpp
@@ -90,7 +90,9 @@ enum TargetChoice { TARGET_CPU, TARGET_GPU };
static cl::opt<TargetChoice>
Target("polly-target", cl::desc("The hardware to target"),
cl::values(clEnumValN(TARGET_CPU, "cpu", "generate CPU code"),
+#ifdef GPU_CODEGEN
clEnumValN(TARGET_GPU, "gpu", "generate GPU code"),
+#endif
clEnumValEnd),
cl::init(TARGET_CPU), cl::ZeroOrMore, cl::cat(PollyCategory));
@@ -153,7 +155,10 @@ static cl::opt<bool>
namespace polly {
void initializePollyPasses(PassRegistry &Registry) {
initializeCodeGenerationPass(Registry);
+
+#ifdef GPU_CODEGEN
initializePPCGCodeGenerationPass(Registry);
+#endif
initializeCodePreparationPass(Registry);
initializeDeadCodeElimPass(Registry);
initializeDependenceInfoPass(Registry);
@@ -235,7 +240,9 @@ void registerPollyPasses(llvm::legacy::PassManagerBase &PM) {
PM.add(polly::createJSONExporterPass());
if (Target == TARGET_GPU) {
+#ifdef GPU_CODEGEN
PM.add(polly::createPPCGCodeGenerationPass());
+#endif
} else {
switch (CodeGenerator) {
case CODEGEN_ISL:
OpenPOWER on IntegriCloud