|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
95a13425 |
| 05-Jun-2022 |
Fangrui Song <[email protected]> |
Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options
|
| #
d86a206f |
| 05-Jun-2022 |
Fangrui Song <[email protected]> |
Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options
|
| #
36c7d79d |
| 04-Jun-2022 |
Fangrui Song <[email protected]> |
Remove unneeded cl::ZeroOrMore for cl::opt options
Similar to 557efc9a8b68628c2c944678c6471dac30ed9e8e. This commit handles options where cl::ZeroOrMore is more than one line below cl::opt.
|
| #
02f64067 |
| 01-Jun-2022 |
Yang Keao <[email protected]> |
[Polly] Migrate -polly-mse to the new pass manager.
This patch implements the `MaximalStaticExpansion` and its printer in NPM.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.o
[Polly] Migrate -polly-mse to the new pass manager.
This patch implements the `MaximalStaticExpansion` and its printer in NPM.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D125870
show more ...
|
|
Revision tags: llvmorg-14.0.4 |
|
| #
bd93df93 |
| 17-May-2022 |
Michael Kruse <[email protected]> |
[Polly] Mark classes as final by default. NFC.
This make is obivious that a class was not intended to be derived from.
NPM analysis pass can unfortunately not marked as final because they are deriv
[Polly] Mark classes as final by default. NFC.
This make is obivious that a class was not intended to be derived from.
NPM analysis pass can unfortunately not marked as final because they are derived from a llvm::Checker<T> template internally by the NPM.
Also normalize the use of classes/structs * NPM passes are structs * Legacy passes are classes * structs that have methods and are not a visitor pattern are classes * structs have public inheritance by default, remove "public" keyword * Use typedef'ed type instead of inline forward declaration
show more ...
|
| #
6b3b8737 |
| 09-May-2022 |
Michael Kruse <[email protected]> |
[polly] migrate -polly-show to the new pass manager
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D123678
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
5c028081 |
| 14-Mar-2022 |
Michael Kruse <[email protected]> |
[polly] Introduce -polly-print-* passes to replace -analyze.
The `opt -analyze` option only works with the legacy pass manager and might be removed in the future, as explained in llvm.org/PR53733. T
[polly] Introduce -polly-print-* passes to replace -analyze.
The `opt -analyze` option only works with the legacy pass manager and might be removed in the future, as explained in llvm.org/PR53733. This patch introduced -polly-print-* passes that print what the pass would print with the `-analyze` option and replaces all uses of `-analyze` in the regression tests.
There are two exceptions: `CodeGen\single_loop_param_less_equal.ll` and `CodeGen\loop_with_condition_nested.ll` use `-analyze on the `-loops` pass which is not part of Polly.
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D120782
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
e51e7e7f |
| 15-Feb-2022 |
Christopher Di Bella <[email protected]> |
[polly][NFC] removes using-directives to fix modules build
When compiling with Clang modules enabled, polly's use of using-directives caused the global object `Target` in RegisterPasses.cpp to clash
[polly][NFC] removes using-directives to fix modules build
When compiling with Clang modules enabled, polly's use of using-directives caused the global object `Target` in RegisterPasses.cpp to clash with `llvm::Target`. By eliminating the using-directives, we're able to get polly to play nicely with a modules build.
Differential Revision: https://reviews.llvm.org/D119809
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
19db33c0 |
| 14-Oct-2021 |
Michael Kruse <[email protected]> |
[Polly] Remove support for code generated by gfortran+DragonEgg.
DragonEgg is not maintained anymore, hence there is no need for this functionality.
Fixes llvm.org/PR52173
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2 |
|
| #
9cfab5e2 |
| 23-Aug-2021 |
Michael Kruse <[email protected]> |
[Polly] Add support for -polly-dump-before/after with NPM.
The new pass manager does not allow adding module passes at the -polly-position=before-vectorizer extension point. Introduce a DumpFunction
[Polly] Add support for -polly-dump-before/after with NPM.
The new pass manager does not allow adding module passes at the -polly-position=before-vectorizer extension point. Introduce a DumpFunctionPass that dumps only current function. In contrast to the legacy pass manager's -polly-dump-before, each function will be dumped into its own file. -polly-dump-before-file is still not supported.
The DumpFunctionPass uses llvm::CloneModule to copy the current function into a new module and then write it into a file.
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc1 |
|
| #
7a797b29 |
| 30-Jul-2021 |
Tarindu Jayatilaka <[email protected]> |
Take OptimizationLevel class out of Pass Builder
Pulled out the OptimizationLevel class from PassBuilder in order to be able to access it from within the PassManager and avoid include conflicts.
Re
Take OptimizationLevel class out of Pass Builder
Pulled out the OptimizationLevel class from PassBuilder in order to be able to access it from within the PassManager and avoid include conflicts.
Reviewed By: mtrofin
Differential Revision: https://reviews.llvm.org/D107025
show more ...
|
|
Revision tags: llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
| #
86008477 |
| 21-May-2021 |
Michael Kruse <[email protected]> |
[Polly] Avoid compiler warning. NFC.
Avoid the warning
/polly/lib/Support/RegisterPasses.cpp:833:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-defaul
[Polly] Avoid compiler warning. NFC.
Avoid the warning
/polly/lib/Support/RegisterPasses.cpp:833:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] default: ^
since all cases are now handled.
Thanks to Luke Benes for reporting.
show more ...
|
| #
ad568f42 |
| 18-May-2021 |
Michael Kruse <[email protected]> |
[Polly] Add support for -polly-dump-after(-file) with the NPM.
For the same reason as with -polly-dump-before, it is only supported with -polly-position=early.
|
| #
29bef8e4 |
| 18-May-2021 |
Michael Kruse <[email protected]> |
[Polly] Add support for -polly-dump-before(-file) with the NPM.
Only supported with -polly-position=early. Unfortunately, the extension point callpack for VectorizerStart only passes a FunctionPassM
[Polly] Add support for -polly-dump-before(-file) with the NPM.
Only supported with -polly-position=early. Unfortunately, the extension point callpack for VectorizerStart only passes a FunctionPassManager, making it impossible to add a module pass.
show more ...
|
| #
5aafcb2b |
| 13-May-2021 |
Michael Kruse <[email protected]> |
[Polly] Add support for -polly-position=early with the NPM.
This required support for the canonicalization passes, inlcuding porting RewriteByReferenceParams to the NPM.
For some reason, the legacy
[Polly] Add support for -polly-position=early with the NPM.
This required support for the canonicalization passes, inlcuding porting RewriteByReferenceParams to the NPM.
For some reason, the legacy pass pipeline with -polly-position=early did not run the CodePreparation pass. This was fixed as well.
show more ...
|
| #
34a8a437 |
| 03-May-2021 |
Arthur Eubanks <[email protected]> |
[NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose
Printing pass manager invocations is fairly verbose and not super useful.
This allows us to remove DebugLogging from pass
[NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose
Printing pass manager invocations is fairly verbose and not super useful.
This allows us to remove DebugLogging from pass managers and PassBuilder since all logging (aside from analysis managers) goes through instrumentation now.
This has the downside of never being able to print the top level pass manager via instrumentation, but that seems like a minor downside.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D101797
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
8796451d |
| 24-Mar-2021 |
Michael Kruse <[email protected]> |
[Polly] Port DeadCodeElim to the NewPM.
|
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
9b123cde |
| 12-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Sanitize optimization levels.
The description of the -polly switch stated that it was only enabled with -O3. This was a lie, the optimization level was ignored. Only at -O0 Polly was not add
[Polly] Sanitize optimization levels.
The description of the -polly switch stated that it was only enabled with -O3. This was a lie, the optimization level was ignored. Only at -O0 Polly was not added to the pass pipeline because the pass builder, but only because the extension points were not triggered.
In the NewPM, the VectorizerStart extensions point is actually trigger even with -O0 which leads to the following crash:
Assertion `Level != OptimizationLevel::O0 && "Must request optimizations!"' failed.
We sanitize the optimization levels using the following rules for both pass mangers:
1. Only enable Polly if optimizing at all (-O1, -O2 or -O3). 2. Do not enable Polly when optimizing for size. 3. Ignore the optimization level for diagnostic passes (printer, viewer or JScop-exporter). 4. If only diagnostic passes enabled, skip the code-generation. 5. Fix the description of the -polly command line option.
show more ...
|
| #
564788dd |
| 10-Feb-2021 |
Fangrui Song <[email protected]> |
[Polly] Fix -Wunused-lambda-capture
|
| #
89e257bd |
| 10-Feb-2021 |
Fangrui Song <[email protected]> |
[Polly] Fix -DPOLLY_ENABLE_GPGPU_CODEGEN=off build after 222d380d2f57cc71bb613b5c01ecf17cd1f61fa2
|
| #
222d380d |
| 10-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Make the NewPM pass pipeline more similar to the legacy's.
Even though it has some oddities, both pipelines should be as similar as possible. Also use report_fatal_error instead of assertion
[Polly] Make the NewPM pass pipeline more similar to the legacy's.
Even though it has some oddities, both pipelines should be as similar as possible. Also use report_fatal_error instead of assertions to ensure a proper failure in release builds for unsupported options.
This finalizes the patch serious to make Polly run in the default configuration when using the NewPM by default.
show more ...
|
| #
08bab4b0 |
| 10-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Make NewPM's IslAstAnalysis more similar to the legacy IslAstInfoWrapperPass.
In particular, print the ast with -debug-only=polly-ast, print a per-scop header with print<polly-ast> and force
[Polly] Make NewPM's IslAstAnalysis more similar to the legacy IslAstInfoWrapperPass.
In particular, print the ast with -debug-only=polly-ast, print a per-scop header with print<polly-ast> and force-add the analysis with -polly-code-generation=ast.
show more ...
|
| #
13f758a8 |
| 10-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Improve Simplify pass PM integration.
1. LegacyPM: Rename SimplifyLegacyPass to SimplifyWrapperPass. 2. LegacyPM: Complete create/init functions in LinkAllPasses.h 3. NewPM: Only invalidate
[Polly] Improve Simplify pass PM integration.
1. LegacyPM: Rename SimplifyLegacyPass to SimplifyWrapperPass. 2. LegacyPM: Complete create/init functions in LinkAllPasses.h 3. NewPM: Only invalidate non-Scop passes if changed. 4. NewPM: Add to default pass pipeline. 5. NewPM: Print -analyze header for each print<polly-simplify>
show more ...
|
| #
e200df95 |
| 10-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Port IslScheduleOptimizer to the NewPM.
|
| #
e7b9e43c |
| 10-Feb-2021 |
Michael Kruse <[email protected]> |
[Polly] Register pass-instrumentation for NewPM's Scop level.
The pass-instrumentation pass is implicitly execute by the NewPM whenever a new analysis runs. Not registering it will cause the crash w
[Polly] Register pass-instrumentation for NewPM's Scop level.
The pass-instrumentation pass is implicitly execute by the NewPM whenever a new analysis runs. Not registering it will cause the crash whenever a scop pass requests an analysis.
For instance this is the case for the IstAstAnalysis requesting the DependenceAnalsis result.
show more ...
|