PPCGCodegen: Support compilation without GPU support
llvm-svn: 275310
This commit is contained in:
parent
f071102647
commit
562d3aa80a
|
|
@ -42,7 +42,9 @@ llvm::Pass *createScopInfoRegionPassPass();
|
||||||
llvm::Pass *createScopInfoWrapperPassPass();
|
llvm::Pass *createScopInfoWrapperPassPass();
|
||||||
llvm::Pass *createIslAstInfoPass();
|
llvm::Pass *createIslAstInfoPass();
|
||||||
llvm::Pass *createCodeGenerationPass();
|
llvm::Pass *createCodeGenerationPass();
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
llvm::Pass *createPPCGCodeGenerationPass();
|
llvm::Pass *createPPCGCodeGenerationPass();
|
||||||
|
#endif
|
||||||
llvm::Pass *createIslScheduleOptimizerPass();
|
llvm::Pass *createIslScheduleOptimizerPass();
|
||||||
|
|
||||||
extern char &CodePreparationID;
|
extern char &CodePreparationID;
|
||||||
|
|
@ -72,7 +74,9 @@ struct PollyForcePassLinking {
|
||||||
polly::createPollyCanonicalizePass();
|
polly::createPollyCanonicalizePass();
|
||||||
polly::createIslAstInfoPass();
|
polly::createIslAstInfoPass();
|
||||||
polly::createCodeGenerationPass();
|
polly::createCodeGenerationPass();
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
polly::createPPCGCodeGenerationPass();
|
polly::createPPCGCodeGenerationPass();
|
||||||
|
#endif
|
||||||
polly::createIslScheduleOptimizerPass();
|
polly::createIslScheduleOptimizerPass();
|
||||||
}
|
}
|
||||||
} PollyForcePassLinking; // Force link by creating a global definition.
|
} PollyForcePassLinking; // Force link by creating a global definition.
|
||||||
|
|
@ -86,7 +90,9 @@ void initializeJSONExporterPass(llvm::PassRegistry &);
|
||||||
void initializeJSONImporterPass(llvm::PassRegistry &);
|
void initializeJSONImporterPass(llvm::PassRegistry &);
|
||||||
void initializeIslAstInfoPass(llvm::PassRegistry &);
|
void initializeIslAstInfoPass(llvm::PassRegistry &);
|
||||||
void initializeCodeGenerationPass(llvm::PassRegistry &);
|
void initializeCodeGenerationPass(llvm::PassRegistry &);
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
void initializePPCGCodeGenerationPass(llvm::PassRegistry &);
|
void initializePPCGCodeGenerationPass(llvm::PassRegistry &);
|
||||||
|
#endif
|
||||||
void initializeIslScheduleOptimizerPass(llvm::PassRegistry &);
|
void initializeIslScheduleOptimizerPass(llvm::PassRegistry &);
|
||||||
void initializePollyCanonicalizePass(llvm::PassRegistry &);
|
void initializePollyCanonicalizePass(llvm::PassRegistry &);
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,9 @@ enum TargetChoice { TARGET_CPU, TARGET_GPU };
|
||||||
static cl::opt<TargetChoice>
|
static cl::opt<TargetChoice>
|
||||||
Target("polly-target", cl::desc("The hardware to target"),
|
Target("polly-target", cl::desc("The hardware to target"),
|
||||||
cl::values(clEnumValN(TARGET_CPU, "cpu", "generate CPU code"),
|
cl::values(clEnumValN(TARGET_CPU, "cpu", "generate CPU code"),
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
clEnumValN(TARGET_GPU, "gpu", "generate GPU code"),
|
clEnumValN(TARGET_GPU, "gpu", "generate GPU code"),
|
||||||
|
#endif
|
||||||
clEnumValEnd),
|
clEnumValEnd),
|
||||||
cl::init(TARGET_CPU), cl::ZeroOrMore, cl::cat(PollyCategory));
|
cl::init(TARGET_CPU), cl::ZeroOrMore, cl::cat(PollyCategory));
|
||||||
|
|
||||||
|
|
@ -153,7 +155,10 @@ static cl::opt<bool>
|
||||||
namespace polly {
|
namespace polly {
|
||||||
void initializePollyPasses(PassRegistry &Registry) {
|
void initializePollyPasses(PassRegistry &Registry) {
|
||||||
initializeCodeGenerationPass(Registry);
|
initializeCodeGenerationPass(Registry);
|
||||||
|
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
initializePPCGCodeGenerationPass(Registry);
|
initializePPCGCodeGenerationPass(Registry);
|
||||||
|
#endif
|
||||||
initializeCodePreparationPass(Registry);
|
initializeCodePreparationPass(Registry);
|
||||||
initializeDeadCodeElimPass(Registry);
|
initializeDeadCodeElimPass(Registry);
|
||||||
initializeDependenceInfoPass(Registry);
|
initializeDependenceInfoPass(Registry);
|
||||||
|
|
@ -235,7 +240,9 @@ void registerPollyPasses(llvm::legacy::PassManagerBase &PM) {
|
||||||
PM.add(polly::createJSONExporterPass());
|
PM.add(polly::createJSONExporterPass());
|
||||||
|
|
||||||
if (Target == TARGET_GPU) {
|
if (Target == TARGET_GPU) {
|
||||||
|
#ifdef GPU_CODEGEN
|
||||||
PM.add(polly::createPPCGCodeGenerationPass());
|
PM.add(polly::createPPCGCodeGenerationPass());
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
switch (CodeGenerator) {
|
switch (CodeGenerator) {
|
||||||
case CODEGEN_ISL:
|
case CODEGEN_ISL:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue