llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.92k stars 11.52k forks source link

[Polly] Fold Polly into the pass pipeline [Metabug] #26132

Open tobiasgrosser opened 8 years ago

tobiasgrosser commented 8 years ago
Bugzilla Link 25758
Version unspecified
OS Linux
Depends On llvm/llvm-project#26133

Extended Description

Currently polly is run at the beginning of the pass chain as the code has at this point less scalar dependences as later in the pass chain, such that our optimizations are more often triggered. However, running Polly early requires us to schedule additional canonicalization passes which increase compile time (slightly, but consistently) and also cause execution time noise compared to a plain 'clang -O3' compilation.

To avoid any execution time noise, as well as compile time increases for compilations that do not benefit from Polly, we want to fold Polly into the pass pipeline: -mllvm -polly-position=before-vectorizer

(this also enables better optimizations for C++ code, which requires inlining to expose interesting code snippets)

This bug tracks the different issues that currently prevent us from doing so.

tobiasgrosser commented 2 years ago

mentioned in issue llvm/llvm-project#26133

tlattner commented 8 years ago

Move bugs to Polly product.