/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/polly/include/polly/LinkAllPasses.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- polly/LinkAllPasses.h ----------- Reference All Passes ---*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | // |
9 | | // This header file pulls in all transformation and analysis passes for tools |
10 | | // like opt and bugpoint that need this functionality. |
11 | | // |
12 | | //===----------------------------------------------------------------------===// |
13 | | |
14 | | #ifndef POLLY_LINKALLPASSES_H |
15 | | #define POLLY_LINKALLPASSES_H |
16 | | |
17 | | #include "polly/CodeGen/PPCGCodeGeneration.h" |
18 | | #include "polly/Config/config.h" |
19 | | #include "polly/PruneUnprofitable.h" |
20 | | #include "polly/Simplify.h" |
21 | | #include "polly/Support/DumpModulePass.h" |
22 | | #include "llvm/ADT/StringRef.h" |
23 | | #include <cstdlib> |
24 | | |
25 | | namespace llvm { |
26 | | class Pass; |
27 | | class PassRegistry; |
28 | | } // namespace llvm |
29 | | |
30 | | namespace polly { |
31 | | llvm::Pass *createCodePreparationPass(); |
32 | | llvm::Pass *createScopInlinerPass(); |
33 | | llvm::Pass *createDeadCodeElimPass(); |
34 | | llvm::Pass *createDependenceInfoPass(); |
35 | | llvm::Pass *createDependenceInfoWrapperPassPass(); |
36 | | llvm::Pass *createDOTOnlyPrinterPass(); |
37 | | llvm::Pass *createDOTOnlyViewerPass(); |
38 | | llvm::Pass *createDOTPrinterPass(); |
39 | | llvm::Pass *createDOTViewerPass(); |
40 | | llvm::Pass *createJSONExporterPass(); |
41 | | llvm::Pass *createJSONImporterPass(); |
42 | | llvm::Pass *createPollyCanonicalizePass(); |
43 | | llvm::Pass *createPolyhedralInfoPass(); |
44 | | llvm::Pass *createScopDetectionWrapperPassPass(); |
45 | | llvm::Pass *createScopInfoRegionPassPass(); |
46 | | llvm::Pass *createScopInfoWrapperPassPass(); |
47 | | llvm::Pass *createRewriteByrefParamsPass(); |
48 | | llvm::Pass *createIslAstInfoWrapperPassPass(); |
49 | | llvm::Pass *createCodeGenerationPass(); |
50 | | #ifdef GPU_CODEGEN |
51 | | llvm::Pass *createPPCGCodeGenerationPass(GPUArch Arch = GPUArch::NVPTX64, |
52 | | GPURuntime Runtime = GPURuntime::CUDA); |
53 | | |
54 | | llvm::Pass * |
55 | | createManagedMemoryRewritePassPass(GPUArch Arch = GPUArch::NVPTX64, |
56 | | GPURuntime Runtime = GPURuntime::CUDA); |
57 | | #endif |
58 | | llvm::Pass *createIslScheduleOptimizerPass(); |
59 | | llvm::Pass *createFlattenSchedulePass(); |
60 | | llvm::Pass *createDeLICMPass(); |
61 | | llvm::Pass *createMaximalStaticExpansionPass(); |
62 | | |
63 | | extern char &CodePreparationID; |
64 | | } // namespace polly |
65 | | |
66 | | namespace { |
67 | | struct PollyForcePassLinking { |
68 | 1.20M | PollyForcePassLinking() { |
69 | 1.20M | // We must reference the passes in such a way that compilers will not |
70 | 1.20M | // delete it all as dead code, even with whole program optimization, |
71 | 1.20M | // yet is effectively a NO-OP. As the compiler isn't smart enough |
72 | 1.20M | // to know that getenv() never returns -1, this will do the job. |
73 | 1.20M | if (std::getenv("bar") != (char *)-1) |
74 | 1.20M | return; |
75 | 0 | |
76 | 0 | polly::createCodePreparationPass(); |
77 | 0 | polly::createDeadCodeElimPass(); |
78 | 0 | polly::createDependenceInfoPass(); |
79 | 0 | polly::createDOTOnlyPrinterPass(); |
80 | 0 | polly::createDOTOnlyViewerPass(); |
81 | 0 | polly::createDOTPrinterPass(); |
82 | 0 | polly::createDOTViewerPass(); |
83 | 0 | polly::createJSONExporterPass(); |
84 | 0 | polly::createJSONImporterPass(); |
85 | 0 | polly::createScopDetectionWrapperPassPass(); |
86 | 0 | polly::createScopInfoRegionPassPass(); |
87 | 0 | polly::createPollyCanonicalizePass(); |
88 | 0 | polly::createPolyhedralInfoPass(); |
89 | 0 | polly::createIslAstInfoWrapperPassPass(); |
90 | 0 | polly::createCodeGenerationPass(); |
91 | | #ifdef GPU_CODEGEN |
92 | | polly::createPPCGCodeGenerationPass(); |
93 | | polly::createManagedMemoryRewritePassPass(); |
94 | | #endif |
95 | | polly::createIslScheduleOptimizerPass(); |
96 | 0 | polly::createMaximalStaticExpansionPass(); |
97 | 0 | polly::createFlattenSchedulePass(); |
98 | 0 | polly::createDeLICMPass(); |
99 | 0 | polly::createDumpModulePass("", true); |
100 | 0 | polly::createSimplifyPass(); |
101 | 0 | polly::createPruneUnprofitablePass(); |
102 | 0 | } DependenceInfo.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
PolyhedralInfo.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
ScopDetection.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
ScopInfo.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
ScopGraphPrinter.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
IslAst.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
CodeGeneration.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
JSONExporter.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
RegisterPasses.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
Canonicalization.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
CodePreparation.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
DeadCodeElimination.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
ScheduleOptimizer.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
DeLICM.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
MaximalStaticExpansion.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
RewriteByReferenceParameters.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
ScopInliner.cpp:(anonymous namespace)::PollyForcePassLinking::PollyForcePassLinking() Line | Count | Source | 68 | 71.1k | PollyForcePassLinking() { | 69 | 71.1k | // We must reference the passes in such a way that compilers will not | 70 | 71.1k | // delete it all as dead code, even with whole program optimization, | 71 | 71.1k | // yet is effectively a NO-OP. As the compiler isn't smart enough | 72 | 71.1k | // to know that getenv() never returns -1, this will do the job. | 73 | 71.1k | if (std::getenv("bar") != (char *)-1) | 74 | 71.1k | return; | 75 | 0 | | 76 | 0 | polly::createCodePreparationPass(); | 77 | 0 | polly::createDeadCodeElimPass(); | 78 | 0 | polly::createDependenceInfoPass(); | 79 | 0 | polly::createDOTOnlyPrinterPass(); | 80 | 0 | polly::createDOTOnlyViewerPass(); | 81 | 0 | polly::createDOTPrinterPass(); | 82 | 0 | polly::createDOTViewerPass(); | 83 | 0 | polly::createJSONExporterPass(); | 84 | 0 | polly::createJSONImporterPass(); | 85 | 0 | polly::createScopDetectionWrapperPassPass(); | 86 | 0 | polly::createScopInfoRegionPassPass(); | 87 | 0 | polly::createPollyCanonicalizePass(); | 88 | 0 | polly::createPolyhedralInfoPass(); | 89 | 0 | polly::createIslAstInfoWrapperPassPass(); | 90 | 0 | polly::createCodeGenerationPass(); | 91 | | #ifdef GPU_CODEGEN | 92 | | polly::createPPCGCodeGenerationPass(); | 93 | | polly::createManagedMemoryRewritePassPass(); | 94 | | #endif | 95 | | polly::createIslScheduleOptimizerPass(); | 96 | 0 | polly::createMaximalStaticExpansionPass(); | 97 | 0 | polly::createFlattenSchedulePass(); | 98 | 0 | polly::createDeLICMPass(); | 99 | 0 | polly::createDumpModulePass("", true); | 100 | 0 | polly::createSimplifyPass(); | 101 | 0 | polly::createPruneUnprofitablePass(); | 102 | 0 | } |
|
103 | | } PollyForcePassLinking; // Force link by creating a global definition. |
104 | | } // namespace |
105 | | |
106 | | namespace llvm { |
107 | | class PassRegistry; |
108 | | void initializeCodePreparationPass(llvm::PassRegistry &); |
109 | | void initializeScopInlinerPass(llvm::PassRegistry &); |
110 | | void initializeDeadCodeElimPass(llvm::PassRegistry &); |
111 | | void initializeJSONExporterPass(llvm::PassRegistry &); |
112 | | void initializeJSONImporterPass(llvm::PassRegistry &); |
113 | | void initializeIslAstInfoWrapperPassPass(llvm::PassRegistry &); |
114 | | void initializeCodeGenerationPass(llvm::PassRegistry &); |
115 | | void initializeRewriteByrefParamsPass(llvm::PassRegistry &); |
116 | | #ifdef GPU_CODEGEN |
117 | | void initializePPCGCodeGenerationPass(llvm::PassRegistry &); |
118 | | void initializeManagedMemoryRewritePassPass(llvm::PassRegistry &); |
119 | | #endif |
120 | | void initializeIslScheduleOptimizerPass(llvm::PassRegistry &); |
121 | | void initializeMaximalStaticExpanderPass(llvm::PassRegistry &); |
122 | | void initializePollyCanonicalizePass(llvm::PassRegistry &); |
123 | | void initializeFlattenSchedulePass(llvm::PassRegistry &); |
124 | | void initializeDeLICMPass(llvm::PassRegistry &); |
125 | | } // namespace llvm |
126 | | |
127 | | #endif |