Tobias Grosser
60b54f19e6
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
2011-11-08 15:41:28 +00:00
Tobias Grosser
65b0058b56
Remove const
...
llvm-svn: 144086
2011-11-08 15:41:19 +00:00
Tobias Grosser
6be480c4ab
ScopInfo: Don't add common parameters during realignment to the context.
...
Previously we built a context that contained already all parameter dimensions
from the start. We now build a context without any parameter dimensions and
extend the context as needed. All parameter dimensions are added during final
realignment.
llvm-svn: 144085
2011-11-08 15:41:13 +00:00
Tobias Grosser
8cae72f186
ScopInfo: Realign parameters after the scop is built
...
llvm-svn: 144084
2011-11-08 15:41:08 +00:00
Tobias Grosser
9a38ab8a04
Use a map to store the dimension of the the parameters
...
llvm-svn: 144083
2011-11-08 15:41:03 +00:00
Tobias Grosser
76c2e32a8e
ScopInfo: Extract function getIdForParam()
...
llvm-svn: 143961
2011-11-07 12:58:59 +00:00
Tobias Grosser
120db6b583
SCEVValidator: Move into own file
...
llvm-svn: 143960
2011-11-07 12:58:54 +00:00
Tobias Grosser
60e85cbd9d
ScopDetection: Introduce methods to check attributes of ValidatorResult
...
This simplifies e.g:
if (Op.type == SCEVType::INT || Op.type == SCEVType::PARAM)
to
if (Op.isConstant())
llvm-svn: 143959
2011-11-07 12:58:46 +00:00
Tobias Grosser
eadc4285db
ScopDetection: Add ValidatorResult class
...
llvm-svn: 143958
2011-11-07 12:58:41 +00:00
Tobias Grosser
2d0b1f9d8a
ScopDetection: Small fixes and improvements for the SCEVValidator
...
These fixes were part of a code audit of the SCEVValidator.
llvm-svn: 143692
2011-11-04 10:08:08 +00:00
Tobias Grosser
7b0ee0ec9f
ScopInfo: Add two new asserts.
...
They show a bug recently reported by Marcello Maggioni <hayarms@gmail.com>
llvm-svn: 143691
2011-11-04 10:08:03 +00:00
Tobias Grosser
76164677f8
ScopDetection: Use SCEVValidator for memory accesses.
...
We currently run the old memory access checker in parallel, as we would
otherwise fail in TempScop because of currently unsupported functions. We will
remove the old memory access checker as soon as TempScop is fixed.
llvm-svn: 143654
2011-11-03 21:03:18 +00:00
Tobias Grosser
2fea5c68fd
ScopDetection: Use SCEVValidator for conditions
...
llvm-svn: 143653
2011-11-03 21:03:14 +00:00
Tobias Grosser
2392805094
TempScop: Remove unused SCEVAffFunc constructor
...
llvm-svn: 143652
2011-11-03 21:03:10 +00:00
Tobias Grosser
56f4745c3f
TempScop: Remove has_signed (was unused)
...
llvm-svn: 143651
2011-11-03 21:03:06 +00:00
Tobias Grosser
ad96c4b06d
ScopDetection: A parameter cannot appear inside a SCoP.
...
llvm-svn: 143650
2011-11-03 21:03:01 +00:00
Tobias Grosser
3fb4992221
ScopDetection: Add new SCEV Validator
...
The SCEV Validator is used to check if the bound of a loop can be translated
into a polyhedral constraint. The new validator is more general as the check
used previously and e.g. allows bounds like 'smax 1, %a'. At the moment, we
only allow signed comparisons. Also, the new validator is only used to verify
loop bounds. Memory accesses are still handled by the old validator.
llvm-svn: 143576
2011-11-02 21:40:08 +00:00
Tobias Grosser
1179afafca
TempScop: Remove SCEVAffFunc from LoopBoundInfo
...
This is not needed anymore -> Reduce impact of SCEVAffFunc.
llvm-svn: 143575
2011-11-02 21:37:51 +00:00
Tobias Grosser
65fa78e975
TempScopInfo: Print the original SCEV instead of using SCEVAffFunc
...
This is reducing the impact of SCEVAffFunc
llvm-svn: 143574
2011-11-02 21:37:06 +00:00
Raghesh Aloor
4eae54288f
www: Change in cloog installation procedure
...
llvm-svn: 143025
2011-10-26 12:25:49 +00:00
Tobias Grosser
1f24897def
Add forgotten -Xclang option
...
Reported by: yabin.hwu@gmail.com
llvm-svn: 143008
2011-10-26 02:14:40 +00:00
Tobias Grosser
f524e3a258
www: reformat warning
...
llvm-svn: 143007
2011-10-26 02:09:11 +00:00
Tobias Grosser
954a1f2d74
www: Emphasize clang/LLVM/Polly need to be in sync
...
llvm-svn: 143005
2011-10-26 01:27:53 +00:00
Tobias Grosser
bd54f3226f
ScopInfo: Print SCEV and not the pointer to it
...
llvm-svn: 143004
2011-10-26 01:27:49 +00:00
Tobias Grosser
3638ef8fe1
PoCC: Fix bugs when executing PoCC
...
These are remainders of the switch to the newer isl version. At the point of
switching I did not test with PoCC support. I should have done. ;-)
llvm-svn: 142777
2011-10-23 20:59:49 +00:00
Tobias Grosser
7bf5999868
Remove pollycc
...
The recommanded and supported way to use Polly is to load it into clang.
Documentation for this is available on the website under
http://polly.grosser.es/example_load_Polly_into_clang.html
llvm-svn: 142776
2011-10-23 20:59:47 +00:00
Tobias Grosser
967239c029
Only have a single option to disable tiling for both isl and Pocc optimzer
...
This also documents the new option on the website.
llvm-svn: 142775
2011-10-23 20:59:44 +00:00
Tobias Grosser
67707b7131
Enable prevectorization with -enable-polly-vector.
...
This removes the separate prevector options for the Pluto and isl scheduler.
llvm-svn: 142774
2011-10-23 20:59:40 +00:00
Tobias Grosser
d5e80c5f9c
Add an option to run the PoCC optimizer
...
llvm-svn: 142773
2011-10-23 20:59:35 +00:00
Tobias Grosser
12dcc646d5
Allow to disable the schedule optimizer
...
The option -polly-no-optimizer disables the scheduling optimizer.
llvm-svn: 142772
2011-10-23 20:59:32 +00:00
Tobias Grosser
22636bf498
Rename -enable-schedule-prevector to -polly-prevector
...
llvm-svn: 142771
2011-10-23 20:59:29 +00:00
Tobias Grosser
353a2684bc
ScheduleOptimizer: Allow to disable tiling
...
llvm-svn: 142770
2011-10-23 20:59:26 +00:00
Tobias Grosser
70c31f9411
ScopLib: Fix memory issues
...
llvm-svn: 142769
2011-10-23 20:59:24 +00:00
Tobias Grosser
048c87943c
ScopInfo: Remove unneeded code
...
llvm-svn: 142768
2011-10-23 20:59:20 +00:00
Tobias Grosser
318955b516
Fix compilation of Polly with scoplib support
...
llvm-svn: 142767
2011-10-23 20:59:17 +00:00
Tobias Grosser
76a42df06e
Rename -enable-polly-viewer to -polly-run-viewer
...
Similar changes for polly-only-viewer, polly-printer and polly-only-printer.
llvm-svn: 142766
2011-10-23 20:59:14 +00:00
Tobias Grosser
f50dbc44ba
RegisterPasses: Allow to disable code generation.
...
llvm-svn: 142765
2011-10-23 20:59:11 +00:00
Tobias Grosser
2ff8723d5d
ScopDetection: Allow to limit the scop detection to a single function
...
-polly-detect-only=<functionname> allows to limit the scop detection to
a single function.
llvm-svn: 142750
2011-10-23 11:17:06 +00:00
Tobias Grosser
f3fbcb8919
Fix buildbot link
...
llvm-svn: 142749
2011-10-23 11:03:06 +00:00
Tobias Grosser
57bc026634
Link to the new LLVM buildbots
...
llvm-svn: 142748
2011-10-23 11:01:07 +00:00
Tobias Grosser
e5b5797529
www: Describe how to load Polly into clang
...
llvm-svn: 142747
2011-10-23 10:57:53 +00:00
Tobias Grosser
869b9a318d
www: Move example into its own section (making room for another one)
...
llvm-svn: 142746
2011-10-23 10:57:49 +00:00
Tobias Grosser
cf1a26838c
Add CloogInfo debug output.
...
llvm-svn: 142745
2011-10-23 10:57:44 +00:00
Tobias Grosser
008442631b
Update to isl 0.08
...
llvm-svn: 142744
2011-10-23 10:39:40 +00:00
Tobias Grosser
23b3666850
ScopInfo: Fix ctx->ref != 0 problem
...
Reported by: Yabin Hu <yabin.hwu@gmail.com>
llvm-svn: 142184
2011-10-17 08:32:36 +00:00
Tobias Grosser
b43ba82c94
ScopDetection: Improve error messages and add another INVALID case.
...
llvm-svn: 141461
2011-10-08 00:49:30 +00:00
Tobias Grosser
0ad4caa263
ScopInfo: Proporly free the local space
...
llvm-svn: 141459
2011-10-08 00:35:17 +00:00
Tobias Grosser
4f129a6b43
Show the reason a region is not a SCoP in the DOT graphs.
...
llvm-svn: 141458
2011-10-08 00:30:55 +00:00
Tobias Grosser
c4a0bd13ad
ScopDetection: Unify the handling of invalid SCoPs
...
llvm-svn: 141457
2011-10-08 00:30:48 +00:00
Tobias Grosser
a3263c85e2
Add flags to run the Polly Printers/Viewers
...
llvm-svn: 141456
2011-10-08 00:30:44 +00:00