PPCGCodegen: Support compilation without GPU support

llvm-svn: 275310
This commit is contained in:
Tobias Grosser 2016-07-13 19:52:24 +00:00
parent f071102647
commit 562d3aa80a
2 changed files with 13 additions and 0 deletions

View File

@ -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

View File

@ -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: