| #
5a56cbf4 |
| 16-Apr-2014 |
Tobias Grosser <[email protected]> |
[C++11] Use nullptr
llvm-svn: 206361
|
| #
75b76729 |
| 15-Apr-2014 |
Tobias Grosser <[email protected]> |
Fix for vector codegen in OpenMP subfunctions
Contributed-by: Johannes Doerfert <[email protected]> llvm-svn: 206332
|
| #
efc30135 |
| 14-Apr-2014 |
Tobias Grosser <[email protected]> |
Codegeneration: Free memory correctly when using -polly-vectorizer=polly
This fixes PR19421.
Reported-by: Jeremy Huddleston Sequoia <[email protected]> llvm-svn: 206156
|
|
Revision tags: llvmorg-3.4.1-rc1 |
|
| #
5103ba7c |
| 04-Mar-2014 |
Tobias Grosser <[email protected]> |
Introduce PollyIRBuilder
PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this change should not affect behavior. In subsequent patches we will extend its functionality to em
Introduce PollyIRBuilder
PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this change should not affect behavior. In subsequent patches we will extend its functionality to emit loop.parallel metadata.
llvm-svn: 202853
show more ...
|
| #
c5d1689b |
| 25-Feb-2014 |
Rafael Espindola <[email protected]> |
Update for llvm api change.
llvm-svn: 202183
|
| #
bfec361c |
| 22-Feb-2014 |
Sebastian Pop <[email protected]> |
GMP is only required for CLooG
llvm-svn: 201925
|
| #
b8cd4a83 |
| 19-Jan-2014 |
Tobias Grosser <[email protected]> |
CodeGeneration: Replace reference to isl_int with explicit mpz call.
This removes the last isl_int dependency in the default build. There are still some in OpenScop and Scoplib. For those isl-0.12.2
CodeGeneration: Replace reference to isl_int with explicit mpz call.
This removes the last isl_int dependency in the default build. There are still some in OpenScop and Scoplib. For those isl-0.12.2 still needs to be used.
llvm-svn: 199585
show more ...
|
| #
42aff30d |
| 13-Jan-2014 |
Tobias Grosser <[email protected]> |
Adapt to DomTree changes in r199104
llvm-svn: 199157
|
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
| #
dd6dc827 |
| 15-Oct-2013 |
Tobias Grosser <[email protected]> |
clang-format: No empty line after 'public:'
llvm-svn: 192710
|
| #
815c635c |
| 02-Sep-2013 |
Tobias Grosser <[email protected]> |
[CodeGen] Fixup assert fails caused by incorrect LoopInfo update
Contributed-by: Star Tan <[email protected]> llvm-svn: 189764
|
| #
880c52f5 |
| 29-Jul-2013 |
Tobias Grosser <[email protected]> |
CodeGeneration: Fix double free in vector for
We now use __isl_take to annotate the uses of the isl_set where we got the memory management wrong.
Thanks to Rafael! His pipefail work hardened our te
CodeGeneration: Fix double free in vector for
We now use __isl_take to annotate the uses of the isl_set where we got the memory management wrong.
Thanks to Rafael! His pipefail work hardened our test environment and exposed this bug nicely.
llvm-svn: 187338
show more ...
|
|
Revision tags: llvmorg-3.3.1-rc1 |
|
| #
58032cb0 |
| 23-Jun-2013 |
Tobias Grosser <[email protected]> |
Integrate latest clang-format changes
llvm-svn: 184655
|
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2 |
|
| #
3081b0f5 |
| 16-May-2013 |
Tobias Grosser <[email protected]> |
Update LoopInfo correctly
When the Polly code generation was written we did not correctly update the LoopInfo data, but still claimed that the loop information is correct. This does not only lead to
Update LoopInfo correctly
When the Polly code generation was written we did not correctly update the LoopInfo data, but still claimed that the loop information is correct. This does not only lead to missed optimizations, but it can also cause miscompilations in case passes such as LoopSimplify are run after Polly.
Reported-by: Sergei Larin <[email protected]> llvm-svn: 181987
show more ...
|
| #
5db6ffd7 |
| 16-May-2013 |
Tobias Grosser <[email protected]> |
LoopGenerators: Construct loops such that they are already loop rotated
BeforeBB | v GuardBB / \ __
LoopGenerators: Construct loops such that they are already loop rotated
BeforeBB | v GuardBB / \ __ PreHeaderBB \ / \ / | latch HeaderBB | \ / \ / < \ / \ / ExitBB
This does not only remove the need for an explicit loop rotate pass, but it also gives us the possibility to skip the construction of the guard condition in case the loop is known to be executed at least once. We do not yet exploit this, but by implementing this analysis in the isl code generator we should be able to remove more guards than the generic loop rotate pass can. Another point is that loop rotation can introduce additional PHI nodes, which may hide that a loop can be executed in parallel. This change avoids this complication and will make it easier to move the openmp code generation into a separate pass.
llvm-svn: 181986
show more ...
|
|
Revision tags: llvmorg-3.3.0-rc1 |
|
| #
637bd631 |
| 07-May-2013 |
Tobias Grosser <[email protected]> |
Move polly options into separate option category
Use the new cl::OptionCategory support to move the Polly options into a separate option category. The aim is to hide most options and show by default
Move polly options into separate option category
Use the new cl::OptionCategory support to move the Polly options into a separate option category. The aim is to hide most options and show by default only the options a user needs to influence '-O3 -polly'. The available options probably need some care, but here is the current status:
Polly Options: Configure the polly loop optimizer
-enable-polly-openmp - Generate OpenMP parallel code -polly - Enable the polly optimizer (only at -O3) -polly-no-tiling - Disable tiling in the scheduler -polly-only-func=<function-name> - Only run on a single function -polly-report - Print information about the activities of Polly -polly-vectorizer - Select the vectorization strategy =none - No Vectorization =polly - Polly internal vectorizer =unroll-only - Only grouped unroll the vectorize candidate loops =bb - The Basic Block vectorizer driven by Polly
llvm-svn: 181295
show more ...
|
| #
e602a076 |
| 07-May-2013 |
Tobias Grosser <[email protected]> |
Reformat with clang-format
clang-format become way more stable. This time we mainly reformat function signatures.
llvm-svn: 181294
|
| #
8edce4ee |
| 16-Apr-2013 |
Tobias Grosser <[email protected]> |
Support SCoPs with multiple entry edges.
Regions that have multiple entry edges are very common. A simple if condition yields e.g. such a region:
if / \ then else \ / for_region
This for_
Support SCoPs with multiple entry edges.
Regions that have multiple entry edges are very common. A simple if condition yields e.g. such a region:
if / \ then else \ / for_region
This for_region contains two entry edges 'then' -> 'for_region' and 'else' -> 'for_region'.
Previously we scheduled the RegionSimplify pass to translate such regions into simple regions. With this patch, we now support them natively when the region is in -loop-simplify form, which means the entry block should not be a loop header.
Contributed by: Star Tan <[email protected]>
llvm-svn: 179586
show more ...
|
| #
d7e58640 |
| 10-Apr-2013 |
Tobias Grosser <[email protected]> |
Update formatting to latest version of clang-format
llvm-svn: 179160
|
| #
0ee50f6e |
| 10-Apr-2013 |
Tobias Grosser <[email protected]> |
Support SCoPs with multiple exit edges
Regions that have multiple exit edges are very common. A simple if condition yields e.g. such a region:
if / \ then else \ /
Support SCoPs with multiple exit edges
Regions that have multiple exit edges are very common. A simple if condition yields e.g. such a region:
if / \ then else \ / after
Region: if -> after
This regions contains the bbs 'if', 'then', 'else', but not 'after'. It has two exit edges 'then' -> 'after' and 'else' -> 'after'.
Previously we scheduled the RegionSimplify pass to translate such regions into simple regions. With this patch, we now support them natively.
Contributed-by: Star Tan <[email protected]> llvm-svn: 179159
show more ...
|
| #
4d96c8d7 |
| 23-Mar-2013 |
Tobias Grosser <[email protected]> |
clang-format: Many more files
After this commit, polly is clang-format clean. This can be tested with 'ninja polly-check-format'. Updates to clang-format may change this, but the differences will ho
clang-format: Many more files
After this commit, polly is clang-format clean. This can be tested with 'ninja polly-check-format'. Updates to clang-format may change this, but the differences will hopefully be both small and general improvements to the formatting.
We currently have some not very nice formatting for a couple of items, DEBUG() stmts for example. I believe the benefit of being clang-format clean outweights the not perfect layout of this code.
llvm-svn: 177796
show more ...
|
| #
ecfe21b7 |
| 20-Mar-2013 |
Tobias Grosser <[email protected]> |
Remove dependence on canonical induction variable
When using the scev based code generation, we now do not rely on the presence of a canonical induction variable any more. This commit prepares the p
Remove dependence on canonical induction variable
When using the scev based code generation, we now do not rely on the presence of a canonical induction variable any more. This commit prepares the path to (conditionally) disable the induction variable canonicalization pass.
llvm-svn: 177548
show more ...
|
| #
e039bb1f |
| 18-Mar-2013 |
Sebastian Pop <[email protected]> |
use the canonical IV only when it exists
llvm-svn: 177306
|
| #
7242ad92 |
| 22-Feb-2013 |
Tobias Grosser <[email protected]> |
CodeGen: clang-format
llvm-svn: 175872
|
| #
9d10fffa |
| 15-Feb-2013 |
Sebastian Pop <[email protected]> |
add LoopToScev maps
llvm-svn: 175295
|
| #
c14582f2 |
| 05-Feb-2013 |
Tobias Grosser <[email protected]> |
CodeGen: clang-format goodness
The changed files are not yet clang-format clean, but we are getting close.
llvm-svn: 174403
|