Commit Graph

117 Commits

Author SHA1 Message Date
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