Revision tags: llvmorg-3.4.1-rc1, llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
#
7b6f9ba5 |
| 09-Dec-2013 |
Tobias Grosser <tobias@grosser.es> |
ScopValidator: smax expressions are no parameters
This fixes PR18155 which is a regression introduced in 152913.
llvm-svn: 196827
|
Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
dd6dc827 |
| 15-Oct-2013 |
Tobias Grosser <tobias@grosser.es> |
clang-format: No empty line after 'public:'
llvm-svn: 192710
|
#
e42ddb9a |
| 05-Aug-2013 |
Tobias Grosser <tobias@grosser.es> |
ScopInfo: Split start value from SCEVAddRecExpr to enable parameter sharing.
SCoP invariant parameters with the different start value would deter parameter sharing. For example, when compiling the f
ScopInfo: Split start value from SCEVAddRecExpr to enable parameter sharing.
SCoP invariant parameters with the different start value would deter parameter sharing. For example, when compiling the following C code:
void foo(float *input) { for (long j = 0; j < 8; j++) { // SCoP begin for (long i = 0; i < 8; i++) { float x = input[j * 64 + i + 1]; input[j * 64 + i] = x * x; } } }
Polly would creat two parameters for these memory accesses:
p_0: {0,+,256} p_2: {4,+,256} [j * 64 + i + 1] => MemRef_input[o0] : 4o0 = p_1 + 4i0 [j * 64 + i] => MemRef_input[o0] : 4o0 = p_0 + 4i0
These parameters only differ from start value. To enable parameter sharing, we split the start value from SCEVAddRecExpr, so they would share a single parameter that always has zero start value:
p0: {0,+,256}<%for.cond1.preheader> [j * 64 + i + 1] => MemRef_input[o0] : 4o0 = 4 + p_1 + 4i0 [j * 64 + i] => MemRef_input[o0] : 4o0 = p_0 + 4i0
Such translation can make the polly-dependence much faster.
Contributed-by: Star Tan <tanmx_star@yeah.net> llvm-svn: 187728
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
58032cb0 |
| 23-Jun-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Integrate latest clang-format changes
llvm-svn: 184655
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
e602a076 |
| 07-May-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Reformat with clang-format
clang-format become way more stable. This time we mainly reformat function signatures.
llvm-svn: 181294
|
#
3ed2600c |
| 14-Apr-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Correctly store 'k * p' as a parameter
We do not only need to understand that 'k * p' is a parameter expression, but also need to store this expression in the set of parameters. Befor
SCEVValidator: Correctly store 'k * p' as a parameter
We do not only need to understand that 'k * p' is a parameter expression, but also need to store this expression in the set of parameters. Before this patch we wrongly stored the two individual parameters %k and %p.
Reported by: Sebastian Pop <spop@codeaurora.org>
llvm-svn: 179485
show more ...
|
#
ecb50927 |
| 10-Apr-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
ScopDetect: Allow multiplications of the form <param> * <param>
We handle these by treating this result of the multiplication as an additional parameter.
llvm-svn: 179163
|
#
4d96c8d7 |
| 23-Mar-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
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 ...
|
#
97cb813c |
| 18-Mar-2013 |
Sebastian Pop <spop@codeaurora.org> |
Correct function to decide if a SCEV can be ignored
When doing SCEV based code generation, we ignore instructions calculating values that are fully defined by a SCEV expression. The values that are
Correct function to decide if a SCEV can be ignored
When doing SCEV based code generation, we ignore instructions calculating values that are fully defined by a SCEV expression. The values that are calculated by this instructions are recalculated on demand.
This commit improves the check to verify if certain instructions can be ignored and recalculated on demand.
llvm-svn: 177313
show more ...
|
#
de49b8fa |
| 22-Feb-2013 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Support: clang-format
llvm-svn: 175874
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
eeb776a4 |
| 08-Sep-2012 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Add debug output that gives the reason for invalid expressions
llvm-svn: 163472
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
f9fbbdfd |
| 09-Apr-2012 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Fix typos.
Pointed out by: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 154337
|
#
3ec2abc5 |
| 16-Mar-2012 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Don't allow pointer types in affine expressions
We currently do not support pointer types in affine expressions. Hence, we disallow in the SCoP detection. Later we may decide to add support for them
Don't allow pointer types in affine expressions
We currently do not support pointer types in affine expressions. Hence, we disallow in the SCoP detection. Later we may decide to add support for them.
This fixes PR12277
Reported-By: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152928
show more ...
|
#
371badaa |
| 16-Mar-2012 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Ensure that parameters are recorded correctly
This also fixes UMax where we did not correctly keep track of the parameters. Fixes PR12275.
Reported-By: Sebastian Pop <sebpop@gmail.c
SCEVValidator: Ensure that parameters are recorded correctly
This also fixes UMax where we did not correctly keep track of the parameters. Fixes PR12275.
Reported-By: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152913
show more ...
|
#
540757b0 |
| 16-Mar-2012 |
Tobias Grosser <grosser@fim.uni-passau.de> |
ScevValidator: Add printer for ValidatorResult
llvm-svn: 152912
|
#
edb8a280 |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Fix coding standards in ValidatorResult
llvm-svn: 144907
|
#
fa043f00 |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Make ValidatorResult a class and enforce the use of wproper accessors
llvm-svn: 144906
|
#
b1f07c5c |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Document SCEVType and ValidatorResult
Suggested by Sebastian Pop.
llvm-svn: 144905
|
#
bcc0a0d5 |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Restructure the logic of visitAddRecExpr
Suggested by Sebastian Pop.
llvm-svn: 144904
|
#
2a7cd942 |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Fix typo
llvm-svn: 144903
|
#
7ffe4e8b |
| 17-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Fix placement of the '*' that marks a pointer
Suggested by Sebastian Pop.
llvm-svn: 144902
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4 |
|
#
e5e171ea |
| 10-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Reuse the old BaseAddress checking in SCEVValidator to make sure that no base address is part of the access function. Also remove unused special cases that were necessery when the base address was st
Reuse the old BaseAddress checking in SCEVValidator to make sure that no base address is part of the access function. Also remove unused special cases that were necessery when the base address was still contained in the access function
llvm-svn: 144280
show more ...
|
#
60b54f19 |
| 08-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
Detect Parameters directly on the SCEV.
Instead of using TempScop to find parameters, we detect them directly on the SCEV. This allows us to remove the TempScop parameter detection in a subsequent c
Detect Parameters directly on the SCEV.
Instead of using TempScop to find parameters, we detect them directly on the SCEV. This allows us to remove the TempScop parameter detection in a subsequent commit.
This fixes a bug reported by Marcello Maggioni <hayarms@gmail.com>
llvm-svn: 144087
show more ...
|
Revision tags: llvmorg-3.0.0-rc3 |
|
#
120db6b5 |
| 07-Nov-2011 |
Tobias Grosser <grosser@fim.uni-passau.de> |
SCEVValidator: Move into own file
llvm-svn: 143960
|