164 Commits

Author SHA1 Message Date
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
Tobias Grosser
73600b8edd Initialize the passes early and properly.
llvm-svn: 141455
2011-10-08 00:30:40 +00:00
Tobias Grosser
e19661e0ca ScopInfo: Some cleanups
- Use __isl_give and __isl_take
- Convert variables to start with Uppercase letter
- Only assign the 'domain' after it is fully constructed
- Only name it after it is fully constructed

llvm-svn: 141361
2011-10-07 08:46:57 +00:00
Tobias Grosser
04e6cbc80b Switch to the most recent version of ISL.
This switch is not for any new features, but to test have Polly tested with
the upcoming isl 0.8.

llvm-svn: 141359
2011-10-07 07:20:43 +00:00
Tobias Grosser
9b13d3dbe5 ScopInfo: Simplify the construction of the iteration domain.
llvm-svn: 141325
2011-10-06 22:32:58 +00:00
Tobias Grosser
c4009383e8 Change location of our buildbot
llvm-svn: 141303
2011-10-06 18:49:37 +00:00
Tobias Grosser
b7aac7f596 Address Sebastians comments
This also adds some other cleanups I performed on my way.

llvm-svn: 141275
2011-10-06 06:53:17 +00:00
Tobias Grosser
5d45381294 ScopInfo: Only give away a copy of the access relation.
Also take the chance and rename access functions to access relations. This is
because we do not only allow plain functions to describe an access, but we
can have any access relation that can be described with linear constraints.

llvm-svn: 141257
2011-10-06 00:04:11 +00:00
Tobias Grosser
cf3942dfa6 ScopInfo: Only give away a copy of the schedule.
llvm-svn: 141256
2011-10-06 00:04:05 +00:00
Tobias Grosser
4da8d9fc15 ScopInfo: Only give away a copy of the Context
llvm-svn: 141255
2011-10-06 00:03:59 +00:00
Tobias Grosser
3c69fab0e8 ScopInfo: Get the isl_ctx always with getIslCtx()
llvm-svn: 141254
2011-10-06 00:03:54 +00:00
Tobias Grosser
0e27e24751 ScopInfo: Use separate function to build context
llvm-svn: 141253
2011-10-06 00:03:48 +00:00
Tobias Grosser
3748705fff Export the parameter space directly from the SCoP.
Use this to simplify some code.

llvm-svn: 141252
2011-10-06 00:03:42 +00:00
Tobias Grosser
f53388034d Adapt to introduction of isl_space
Polly should now be compiled with CLooG 0c252c88946b27b7b61a1a8d8fd7f94d2461dbfd
and isl 56b7d238929980e62218525b4b3be121af386edf. The most convenient way to
update is utils/checkout_cloog.sh.

llvm-svn: 141251
2011-10-06 00:03:35 +00:00
Tobias Grosser
934efa2ca5 checkout_cloog: Fix this script to run on our buildbot.
llvm-svn: 141242
2011-10-05 23:11:17 +00:00
Tobias Grosser
54da0d838d Add forgotten "
llvm-svn: 141213
2011-10-05 21:11:30 +00:00
Tobias Grosser
2e32c4aaef Add a tool to checkout cloog/isl automatically with the correct versions.
The tool is called checkout_cloog.sh. We also update the get_started
documentation to include this tool. An older unfinished tool called
'get_cloog.sh' is removed to avoid confusion.

llvm-svn: 141212
2011-10-05 21:10:10 +00:00