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
Tobias Grosser
10996ef7c9
Point to our own buildbot until the official one is up again.
...
llvm-svn: 141070
2011-10-04 08:08:43 +00:00
Tobias Grosser
7a5246a371
Test: Convert to new exception handling
...
llvm-svn: 141069
2011-10-04 07:53:21 +00:00
Tobias Grosser
a241132b6a
Remove some empty lines
...
llvm-svn: 141068
2011-10-04 06:56:36 +00:00
Tobias Grosser
70738df671
configure: Add gmp_inc when checking for CLooG
...
Otherwise configure fails if gmp is installed in a non default location.
llvm-svn: 141067
2011-10-04 06:55:03 +00:00
Tobias Grosser
ae61c317c8
Also force a fixed version of cloog
...
llvm-svn: 139363
2011-09-09 11:02:10 +00:00
Tobias Grosser
4d94c71cc3
Change installation instruction to use a fixed isl version
...
llvm-svn: 139362
2011-09-09 09:08:09 +00:00
Tobias Grosser
c92151516f
CodeGen: Support for Cast Operations in vector code generation
...
llvm-svn: 139097
2011-09-04 11:45:52 +00:00
Tobias Grosser
8b00a51164
CodeGen: Remove unused code
...
llvm-svn: 139096
2011-09-04 11:45:45 +00:00
Tobias Grosser
7551c3000a
CodeGen: Better separate scalar and vector code generation.
...
llvm-svn: 139095
2011-09-04 11:45:41 +00:00
Tobias Grosser
b06e71b95c
CodeGeneration: Simplify code, fix style.
...
llvm-svn: 139094
2011-09-04 11:45:34 +00:00
Tobias Grosser
09c571008b
CodeGen: Split large function in smaller ones.
...
llvm-svn: 139093
2011-09-04 11:45:29 +00:00
Tobias Grosser
8ae9aca5cc
CodeGen: Improve naming of copied basic blocks
...
It may happen that we generate the code of a basic block from the original
scop is code generated several times. The new naming scheme reduces confusing
that earlier appeared as the version numbers of the new basic blocks could
have been interpreted as part of the name of the original basic block.
llvm-svn: 139092
2011-09-04 11:45:22 +00:00
Tobias Grosser
c532f12965
Fix crashes due to unaligned parameters
...
Due to the recent introduction of isl_id, parameters need now always to be
aligned. This was not yet taken care of in the code path of vectorization and
dependence analysis.
llvm-svn: 138555
2011-08-25 08:40:59 +00:00
Tobias Grosser
b406d227d2
ScheduleOptimizer: Fix another memleak
...
llvm-svn: 138554
2011-08-25 08:40:52 +00:00
Tobias Grosser
3df9c76d5c
RegisterPasses: Rework comments slightly
...
llvm-svn: 138428
2011-08-24 07:33:05 +00:00
Tobias Grosser
792509b0db
Register Polly passes automatically
...
Polly adds, after it is loaded into opt or clang, its passes to the default set
of -O3 passes. This means optimizing a program with clang and Polly becomes as
simple as executing.
clang -Xclang -load -Xclang lib/LLVMPolly.so -O3 program.c
The same should work for dragonegg powered gfortran, g++, ... or any other tool
that uses the PassManagerBuilder.
Warning: Even though using Polly became with this commit extremly easy, Polly
is still Pre-Alpha Quality. This means in most cases it will rather
destroy the world than doing anything positive. ;-)
llvm-svn: 138402
2011-08-23 22:35:38 +00:00
Tobias Grosser
a954242c88
ScheduleOptimizer: Fix another memory leak
...
llvm-svn: 138401
2011-08-23 22:35:23 +00:00
Tobias Grosser
83f5c43ede
Add some forgotten passes to LinkAllPasses
...
llvm-svn: 138400
2011-08-23 22:35:08 +00:00
Tobias Grosser
fa3f226a9f
Add information about polyhedral phone call.
...
llvm-svn: 138326
2011-08-23 12:31:17 +00:00
Tobias Grosser
6e0fdcadfe
ScheduleOptimizer: Fix some memory errors.
...
This fixes reference counting if the schedule optimizer is used.
llvm-svn: 138325
2011-08-23 12:31:14 +00:00
Tobias Grosser
604c981f40
Temporarily remove reduction support and interchange pass
...
I am planning to eliminate the TempScopInfo pass. To simplify this I remove
some features that may later be added to the ScopInfo pass.
The interchange pass is currently strongly tested and furthermore ment to be
replaced by the general scheduling optimizer. Reductions itself can later
be added easily.
llvm-svn: 138219
2011-08-21 14:57:58 +00:00
Tobias Grosser
b76f385334
Free isl_ctx and fix several memory leaks
...
Because of me not understanding the LLVM pass structure well, I did not find a
good way to allocate isl_ctx and to free it later without getting issues with
reference counting. I now found this place, such that we can free isl_ctx. This
patch also fixes the memory leaks that were ignored beforehand.
llvm-svn: 138204
2011-08-20 11:11:25 +00:00
Tobias Grosser
15f5efff8f
GICHelper: Fix memory leaks, as we forgot to free some strings.
...
llvm-svn: 138203
2011-08-20 11:11:18 +00:00
Tobias Grosser
eec4d56e63
Move common code into the function it belongs to
...
llvm-svn: 138202
2011-08-20 11:11:14 +00:00
Tobias Grosser
fa7bc2f1a3
ScopInfo/Dependences: Use parameter ids everywhere
...
llvm-svn: 138155
2011-08-20 00:03:28 +00:00
Tobias Grosser
7d4cee4b02
ScopInfo: Construct the accessrelations with isl_pw_aff
...
This simplifies the code quite a bit.
llvm-svn: 138147
2011-08-19 23:34:28 +00:00
Tobias Grosser
d2795d0365
ScopInfo: Remove adhoc comparision of affine expressions
...
Until today, we compared two affine expressions by defining two maps describing
them, creating an union of those maps, adding constraints that do the comparison
and projecting out unneeded dimensions.
This was simplified to using the isl_pw_aff representation of the affine
expressions and using the relevant isl functions to compare them.
llvm-svn: 137932
2011-08-18 07:51:40 +00:00
Tobias Grosser
30b8a092d8
ScopInfo: Create all isl data structures with dimension ids
...
At the moment, we still remove the ids after all data structures are created,
as later passes do not yet support ids. This limitation will be removed later.
llvm-svn: 137931
2011-08-18 07:51:37 +00:00
Tobias Grosser
33ba62ad11
ScopInfo: Build isl_pw_aff directly from SCEV.
...
Do not use AffFunc to derive the affine expressions, but use isl_pw_aff to
analyze the original SCEV directly. This will allow several simplifications in
follow up patches, with the final goal of removing AffFunc completely.
llvm-svn: 137930
2011-08-18 06:31:50 +00:00
Tobias Grosser
54a86e6c2a
ScopInfo: Simplify code
...
llvm-svn: 137929
2011-08-18 06:31:46 +00:00
Tobias Grosser
edd8372d4f
TempSCoP: Store SCEV a SCEVAffFunc was derived from
...
llvm-svn: 137928
2011-08-18 06:31:43 +00:00
Tobias Grosser
223d4d0b37
TempScopInfo: Improve formatiing
...
llvm-svn: 137927
2011-08-18 06:29:25 +00:00
Raghesh Aloor
5d1b6ce83c
www: Updating memaccess Documentation
...
llvm-svn: 137607
2011-08-15 09:37:46 +00:00
Raghesh Aloor
129e867865
Memaccess: Code generation for constant access function change
...
Support for generating code for an access function change which is
a constant is added.
llvm-svn: 137603
2011-08-15 02:33:39 +00:00
Raghesh Aloor
e75e986d03
Removing some trailing whitespaces
...
llvm-svn: 137304
2011-08-11 08:44:56 +00:00
Raghesh Aloor
490c5988f9
Memaccess: Some style changes
...
llvm-svn: 137043
2011-08-08 08:34:16 +00:00
Raghesh Aloor
62b13120ee
Memaccess: Codegeneration for a simple access function change
...
Code is generated for a simple access function change imported
from JSCOP file. An access of A[i] is changed to A[0]. The code
for A[0] is generated directly without refering to isl function calls.
llvm-svn: 136789
2011-08-03 17:02:50 +00:00
Raghesh Aloor
7a04f4f9ba
Memaccess: Display Changed Access Relation
...
The changed access relations imported from JSCOP file is shown
as output of -analyze pass.
llvm-svn: 136774
2011-08-03 13:47:59 +00:00
Tobias Grosser
3b660f8585
ScopInfo: Do not use >"< in statement names.
...
Signed-off-by: Tobias Grosser <tobias@grosser.es>
llvm-svn: 136750
2011-08-03 00:12:11 +00:00
Tobias Grosser
51e89bf87f
Dependences: Fix memory corruption.
...
Signed-off-by: Tobias Grosser <tobias@grosser.es>
llvm-svn: 136749
2011-08-03 00:09:49 +00:00
Tobias Grosser
bd2b2c7117
Add a vect target to the polly testsuite
...
Contributed by: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 136685
2011-08-02 07:22:05 +00:00
Tobias Grosser
2bd3af1e89
Fix two compiler warnings
...
One of them actually pointed to an invalid condition in an assert.
llvm-svn: 136657
2011-08-01 22:39:00 +00:00
Raghesh Aloor
ac4dacfb1f
www: Memory Access Documentation Update
...
llvm-svn: 135641
2011-07-21 00:08:23 +00:00
Tobias Grosser
0c0acb02d5
www: Fix typo
...
Reported by: Chad Rosier <mcrosier@apple.com>
llvm-svn: 135428
2011-07-18 21:27:42 +00:00
Tobias Grosser
276aab5a21
www: Mention new Polly Builder in News
...
llvm-svn: 135421
2011-07-18 20:34:41 +00:00
Tobias Grosser
6121eb346f
www: Add link to buildbot into main menu
...
llvm-svn: 135387
2011-07-18 11:00:13 +00:00
Tobias Grosser
d3ffabfc7a
www: Buildbot set up
...
llvm-svn: 135385
2011-07-18 09:53:35 +00:00
Tobias Grosser
55927aa400
Use llvm::*Type without const
...
llvm-svn: 135384
2011-07-18 09:53:32 +00:00
NAKAMURA Takumi
a7913cd841
(Test commit for polly)
...
llvm-svn: 135345
2011-07-16 13:30:03 +00:00
Raghesh Aloor
9ca0e917a3
Memaccess: Bugfix-Reading of JSCoP file fails
...
While iterating through the memory accesses in JSCOP file
the inner loop index was not initialized to zero.
llvm-svn: 135340
2011-07-16 04:55:09 +00:00
Tobias Grosser
0679e17644
CodeGeneration: Adjust call to CreateCall.
...
Needed to avoid compile error after the patch "Convert CallInst and
InvokeInst APIs to use ArrayRef.
Contributed by: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 135321
2011-07-15 22:54:41 +00:00
Raghesh Aloor
3cb6628d7c
MemAccess: Reading Change in Access Function
...
This patch reads the change in access functions from
imported JSCOP file. A test case is also added.
llvm-svn: 134991
2011-07-12 17:14:03 +00:00
Tobias Grosser
0a33f7e678
www: Fix typo
...
llvm-svn: 134981
2011-07-12 12:43:00 +00:00
Tobias Grosser
851b96e7f0
Adapt to LLVM type system changes
...
Remove constness of Types and do not name the structures generated in the OpenMP
code.
llvm-svn: 134980
2011-07-12 12:42:54 +00:00
Raghesh Aloor
7eb661e636
Fix for broken build
...
isl/map.h is included in OpenScopExporter.cpp and
OpenScopImporter.cpp
llvm-svn: 134786
2011-07-09 03:10:22 +00:00
Tobias Grosser
e790a8dac9
ScopLib: Add missing include
...
llvm-svn: 134513
2011-07-06 18:05:05 +00:00
Tobias Grosser
fe37f8d0ac
pollycc: Fix error message if PoCC/Pluto are not available
...
llvm-svn: 134512
2011-07-06 18:04:59 +00:00
Tobias Grosser
44f19ac3fb
ScheduleOpt: Fix some bugs
...
isl changed a function name, we did not properly initialize some variables
and we freed an isl_ctx object.
llvm-svn: 134448
2011-07-05 22:15:53 +00:00