Tobias Grosser
0e2c1bff8f
www: Papers about iterative compilation and non static control
...
llvm-svn: 147444
2012-01-03 10:10:05 +00:00
Tobias Grosser
aec0a97a41
Add Udays PhD thesis
...
llvm-svn: 147443
2012-01-03 10:00:55 +00:00
Tobias Grosser
c1610132ef
Update publications
...
- Add the LLVM Developer Meeting 2012 talk
- Add papers used within Polly and papers interesting to read in general
llvm-svn: 147442
2012-01-03 09:50:29 +00:00
NAKAMURA Takumi
e9d3d21988
Happy new year 2012!
...
llvm-svn: 147395
2012-01-01 08:16:56 +00:00
Raghesh Aloor
a71989c94e
Memaccess: Using isl_map_dim_max
...
Use isl_map_dim_max to extract the details of the changed
access relation. Only constant access functions are supported
now.
llvm-svn: 147305
2011-12-28 02:48:26 +00:00
Tobias Grosser
a187964bac
Support non-affine access functions in Polly.
...
In case we can not analyze an access function, we do not discard the SCoP, but
assume conservatively that all memory accesses that can be derived from our base
pointer may be accessed.
Patch provided by: Marcello Maggioni <hayarms@gmail.com>
llvm-svn: 146972
2011-12-20 10:43:14 +00:00
Tobias Grosser
f5c8ae5f4b
Adapt to move of isSafeToSpeculativelyExecute into another header.
...
llvm-svn: 146727
2011-12-16 08:27:42 +00:00
Tobias Grosser
e1bc007afa
Allow to run the Polly preopt passes with -O0
...
To extract a preoptimized LLVM-IR file from a C-file run:
clang -Xclang -load -Xclang LLVMPolly.so -O0 -mllvm -polly file.c -S -emit-llvm
On the generated file you can directly run passes such as:
'opt -view-scops file.s'
llvm-svn: 146560
2011-12-14 12:21:31 +00:00
Tobias Grosser
5c28af1c23
www: Enable mp4 version of the developer meeting talk
...
llvm-svn: 146559
2011-12-14 12:21:27 +00:00
Tobias Grosser
f4bea399a9
Scheduler: Try to maximize the band depth
...
Previously the scheduler was splitting bands at the level at which it detected
that the splitting of the band is necessary. This may introduce an additional
level of bands, that can be avoided by backtracking and splitting on a higher
level. Additional splits reduce the number of loops that can be tiled, such that
avoiding splits and maximizing the band depth seems preferable.
As a first data point we looked at 2mm and 3mm from the polybench test suite.
For both maximizing the tilable bands results in a significant (5-10x)
performance improvement.
This patch enables the isl scheduler option to maximize the band depth.
llvm-svn: 146557
2011-12-14 08:58:43 +00:00
Tobias Grosser
768140c6e1
Scheduler: Set maximal constant term
...
If larger coefficients appear as part of the input dependences, the schedule
calculation can take a very long time. We observed that the main overhead in
this calculation is due to optimizing the constant coefficients. They are
misused to increase locality by merging several unrelated dimensions into a
single dimension. This unwanted optimization increases the complexity of the
generated code and furthermore slows it down.
We use a new isl scheduler option to bound the values in the constant dimension
by a user defined value (20 in our case). If the right value is choosen, costly
overoptimization is prevented.
This solution works, but requires a specific (here almost randomly choosen)
value by which the constants are bound. For the moment, this is our best
solution, but we hope to to find a more generic one later on.
After these patch the extremly long compile time for simple kernels like 2mm or
3mm is reduced to a reasonable amount of time (Not more than a couple of seconds
even in debug mode).
llvm-svn: 146556
2011-12-14 08:58:39 +00:00
Tobias Grosser
cae6b39cff
Update isl
...
This updates bringes new options for the isl scheduler.
llvm-svn: 146555
2011-12-14 08:58:36 +00:00
Tobias Grosser
0d90112195
www: Add forgotten files
...
llvm-svn: 146487
2011-12-13 15:09:09 +00:00
Tobias Grosser
54da06ca28
www: Add LLVM Developer Meeting Video (webm only)
...
llvm-svn: 146486
2011-12-13 15:07:00 +00:00
Tobias Grosser
40c163a051
www: Improve styling of news section
...
llvm-svn: 146485
2011-12-13 14:53:25 +00:00
Tobias Grosser
fa05128785
www: Rephrase the introduction to Polly
...
llvm-svn: 146484
2011-12-13 14:53:20 +00:00
Tobias Grosser
9bf3b30c98
Upgrade to CLooG 0.17.0
...
llvm-svn: 146373
2011-12-12 14:52:31 +00:00
Benjamin Kramer
66af99eb34
Update after LLVM API change.
...
llvm-svn: 146279
2011-12-09 21:34:43 +00:00
Raghesh Aloor
46eceba361
Memacess: Some style changes
...
llvm-svn: 146255
2011-12-09 14:27:17 +00:00
Tobias Grosser
b6033396fd
ScheduleOptimizer: Do not tile bands with just one dimension
...
llvm-svn: 146149
2011-12-08 13:02:58 +00:00
Tobias Grosser
595ec0d0e3
ClooG: Make sure ambigous schedules do not introduce complicated code
...
Cloog continued to split the domains even after the scattering. This lead to
complicated code.
llvm-svn: 146033
2011-12-07 11:03:48 +00:00
Tobias Grosser
2493e92530
ScheduleOptimizer: Rewrite getPrevectorMap to use isl_pw_aff
...
This increases the readablity. This also adds some comments that explain
what this function does.
llvm-svn: 146028
2011-12-07 07:42:57 +00:00
Tobias Grosser
4a8e356f36
Make isl abort when an error is encountered
...
llvm-svn: 146027
2011-12-07 07:42:51 +00:00
Tobias Grosser
3f8073aaef
Update isl.
...
llvm-svn: 145933
2011-12-06 10:48:32 +00:00
Tobias Grosser
545bc31324
CodeGen: Style improvements.
...
llvm-svn: 145932
2011-12-06 10:48:27 +00:00
Tobias Grosser
cdea7df0fe
Cloog: Include header file for pipe/open/close
...
We forgot to include the unistd.h header file that defines the
functions mentioned above. This was not a problem with gnu C++ library,
however it did not work for libc++.
llvm-svn: 145790
2011-12-04 10:44:14 +00:00
Tobias Grosser
39913e3648
test: Switch to new atomic instructions
...
This fixes the test with recent versions of LLVM that do not support
the old atomic instructions any more.
llvm-svn: 145402
2011-11-29 14:51:05 +00:00
Tobias Grosser
a66b37d7ae
Add utils/jscop2cloog.py
...
This tool takes a jscop file and translates it into a cloog input file.
llvm-svn: 145401
2011-11-29 14:50:52 +00:00
Tobias Grosser
1e06003227
test: Add more dependences to cmake build
...
llvm-svn: 145400
2011-11-29 14:50:47 +00:00
Tobias Grosser
f281702686
test: Do not hardcode '.so' as library suffix
...
Contributed by: Marcello Maggioni <hayarms@gmail.com>
llvm-svn: 145076
2011-11-22 19:40:38 +00:00
Tobias Grosser
fe8572bc11
www: Document how to run 'make polly-test' for autoconf build
...
llvm-svn: 145075
2011-11-22 19:40:34 +00:00
Tobias Grosser
9fe98cc3eb
autoconf: Change order of linking files
...
This fixes (or hides) the problem of symbols not being available in the
autoconf build.
llvm-svn: 145074
2011-11-22 19:40:31 +00:00
Tobias Grosser
34525d37b1
OpenScop: Remove use of getNameStr()
...
llvm-svn: 145073
2011-11-22 19:40:28 +00:00
Tobias Grosser
23156484f3
cmake: Create libPollyExchange as in the autoconf build
...
llvm-svn: 145072
2011-11-22 19:40:24 +00:00
Tobias Grosser
4dca439cfc
Register Passes: Use -polly-optimizer=(isl|pocc) to switch optimizers
...
This replaces the old option -polly-use-pocc. Also call the passes uniformly
-polly-opt-pocc and -polly-opt-isl.
llvm-svn: 145071
2011-11-22 19:40:19 +00:00
Tobias Grosser
52277852a4
RegisterPass: Disable Polly by default
...
We disable Polly by default and add a new option '-polly' that enables Polly.
This allows us to create an the alias
$ alias clang clang -Xclang -load -Xclang LLVMPolly.so
which loads Polly always into clang. It can now be enabled by running:
$ clang -O3 -mllvm -polly file.c
To enable it by default an alias pollycc can be create
$ alias pollycc clang -O3 -mllvm -polly
llvm-svn: 144917
2011-11-17 19:10:48 +00:00
Tobias Grosser
29ee0b14d5
Do not use getNameStr() anymore.
...
Instead we switch to the recommended getName(). This fixes compilation with
recent versions of LLVM.
llvm-svn: 144909
2011-11-17 14:52:36 +00:00
Tobias Grosser
135c9c6534
autoconf: Specify that pollyanalysis depends on pollysupport
...
llvm-svn: 144908
2011-11-17 12:56:23 +00:00
Tobias Grosser
edb8a2807a
SCEVValidator: Fix coding standards in ValidatorResult
...
llvm-svn: 144907
2011-11-17 12:56:21 +00:00
Tobias Grosser
fa043f00cd
SCEVValidator: Make ValidatorResult a class and enforce the use of wproper accessors
...
llvm-svn: 144906
2011-11-17 12:56:19 +00:00
Tobias Grosser
b1f07c5c0b
SCEVValidator: Document SCEVType and ValidatorResult
...
Suggested by Sebastian Pop.
llvm-svn: 144905
2011-11-17 12:56:17 +00:00
Tobias Grosser
bcc0a0d560
SCEVValidator: Restructure the logic of visitAddRecExpr
...
Suggested by Sebastian Pop.
llvm-svn: 144904
2011-11-17 12:56:14 +00:00
Tobias Grosser
2a7cd94215
SCEVValidator: Fix typo
...
llvm-svn: 144903
2011-11-17 12:56:12 +00:00
Tobias Grosser
7ffe4e8b0b
Fix placement of the '*' that marks a pointer
...
Suggested by Sebastian Pop.
llvm-svn: 144902
2011-11-17 12:56:10 +00:00
Tobias Grosser
92a00f818a
RegisterPasses: Avoid double negation
...
Fix suggested by Sebastian Pop.
llvm-svn: 144901
2011-11-17 12:56:06 +00:00
Tobias Grosser
6287201d6e
ScheduleOptimizer: Start with an empty union_map and add elements
...
llvm-svn: 144900
2011-11-17 12:56:04 +00:00
Tobias Grosser
1ae9a60426
ScheduleOptimizer: Some style changes
...
- Use uppercase letters according to the LLVM coding style
- Rename functions to not include 'tiledSchedule', but just Schedule. This
is more correct as tiling might be disabled.
llvm-svn: 144899
2011-11-17 12:56:03 +00:00
Tobias Grosser
79b30201d6
ScheduleOptimizer: Use early exit
...
Style fix, noted by Sebastian Pop.
llvm-svn: 144898
2011-11-17 12:56:00 +00:00
Tobias Grosser
eb21b70d93
ScopLib: Fix export/import after parameters are now tagged with isl_ids.
...
llvm-svn: 144643
2011-11-15 11:39:02 +00:00
Tobias Grosser
626227462d
JSONImporter: Fix parameter ids when importing new access functions
...
The new isl_id support for parmeters created problems when importing new
access functions. Even though the parameters had the same names,
they were mapped to different ids and where therefore incompatible.
We copy the ids now from the old parameter dimensions. This fixes the
problem.
llvm-svn: 144642
2011-11-15 11:38:59 +00:00
Tobias Grosser
8f99c167cd
ScopInfo: Use names of simple parameters to name the isl parameter dimensions.
...
Parameters can be complex SCEV expressions, but they can also be single scalar
values. If a parameters is such a simple scalar value and the value is named,
use this name to name the isl parameter dimensions.
llvm-svn: 144641
2011-11-15 11:38:55 +00:00
Tobias Grosser
1fb76bd6f7
Cloog: Copy parameter names from isl data structures
...
llvm-svn: 144640
2011-11-15 11:38:47 +00:00
Tobias Grosser
ff9b54d5a9
JScop: Allow to update the context
...
llvm-svn: 144639
2011-11-15 11:38:44 +00:00
Tobias Grosser
ecf6cd06f0
Make JScop export/reimport accessible from clang
...
llvm-svn: 144638
2011-11-15 11:38:36 +00:00
Tobias Grosser
57398edf18
www: Remove link to LLVM for upper left corner. This confused a lot of people
...
llvm-svn: 144289
2011-11-10 14:01:53 +00:00
Tobias Grosser
7bf34585cb
www: Add some news about Polly
...
llvm-svn: 144288
2011-11-10 14:00:04 +00:00
Tobias Grosser
5d73f4a39f
www: Highlight command line flags
...
llvm-svn: 144287
2011-11-10 14:00:00 +00:00
Tobias Grosser
fff5adca2e
ScopDetection: Do not verify Aliasing
...
This does not work reliable and is probably not needed. I accidentally changed
this in this recent commit:
commit a0bcd63c6ffa81616cf8c6663a87588803f7d91c
Author: grosser <grosser@91177308-0d34-0410-b5e6-96231b3b80d8>
Date: Thu Nov 10 12:47:21 2011 +0000
ScopDetect: Use INVALID macro to fail in case of aliasing
This simplifies the code and also makes the error message available to the
graphviz scop viewer.
git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@144284
llvm-svn: 144286
2011-11-10 13:21:43 +00:00
Tobias Grosser
60cd932536
ScopDetection: Add flag to ignore possible aliasing
...
llvm-svn: 144285
2011-11-10 12:47:26 +00:00
Tobias Grosser
6f24d9d9ee
ScopDetect: Use INVALID macro to fail in case of aliasing
...
This simplifies the code and also makes the error message available to
the graphviz scop viewer.
llvm-svn: 144284
2011-11-10 12:47:21 +00:00
Tobias Grosser
4eb7381607
ScopDetect: Clean the last failure message properly
...
llvm-svn: 144283
2011-11-10 12:45:15 +00:00
Tobias Grosser
a66fa6cf02
ScopDetection: Improve formatting of error message and simplify some code
...
llvm-svn: 144282
2011-11-10 12:45:11 +00:00
Tobias Grosser
bef690f57f
Add a workaround to fix SCoPs rejected because of 'region not simple'
...
llvm-svn: 144281
2011-11-10 12:45:07 +00:00
Tobias Grosser
e5e171eadd
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
2011-11-10 12:45:03 +00:00
Tobias Grosser
9759f85060
Use getBasePtr in TempScop/ScopInfo
...
llvm-svn: 144279
2011-11-10 12:44:55 +00:00
Tobias Grosser
b8710b5952
ScopDetect: Use getPointerBase to get the base pointer
...
Previously we allowed in access functions only a single SCEVUnknown, which later
became the base address. We now use getPointerBase() to derive the base address
and all remaining unknowns are handled as parameters. This allows us to handle
cases like A[b+c];
llvm-svn: 144278
2011-11-10 12:44:50 +00:00
Tobias Grosser
19632d7814
Remove unused function declaration
...
llvm-svn: 144233
2011-11-09 22:35:19 +00:00
Tobias Grosser
f50fc50c80
Remove unused parameters from TempScop
...
llvm-svn: 144232
2011-11-09 22:35:15 +00:00
Tobias Grosser
e4e2f7b16e
TempScop: Rename SCEVAffFunc to IRAccess
...
The SCEVAffFunc is now only used to express memory accesses. Give it a proper
name and rework the class such that this is obvious.
llvm-svn: 144231
2011-11-09 22:35:09 +00:00
Tobias Grosser
499f0a48d8
Further remove now invalid SCEVAffFunc features.
...
This also removes the construction of MayAliasSets that became invalid when
removing the use of SCEVAffFunc.
llvm-svn: 144230
2011-11-09 22:35:05 +00:00
Tobias Grosser
6e9f25a5d5
Remove AffineSCEVIterator
...
We do not use it anymore. It was replaced by SCEVVisitors like the
SCEVValidator.
llvm-svn: 144229
2011-11-09 22:35:00 +00:00
Tobias Grosser
f317e3ac83
Do not check memory accesses additionally with isValidAffineFunction
...
This check was necessary because of the use AffineSCEVIterator in TempScopInfo.
As we removed this use recently it is not necessary any more.
llvm-svn: 144228
2011-11-09 22:34:53 +00:00
Tobias Grosser
866b8ae928
Remove more unused stuff from SCEVAffFunc
...
llvm-svn: 144227
2011-11-09 22:34:48 +00:00
Tobias Grosser
a601fbd682
Remove SCEVAffFunc from polly::Comparison
...
llvm-svn: 144226
2011-11-09 22:34:44 +00:00
Tobias Grosser
fb47d66a06
Remove unused code from SCEVAffFunc constructor
...
llvm-svn: 144224
2011-11-09 22:34:39 +00:00
Tobias Grosser
5683df4a23
Remove more of SCEVAffineFunc
...
llvm-svn: 144223
2011-11-09 22:34:34 +00:00
Tobias Grosser
63069c60cf
ScopInfo: Use getParamsInAffineExpr to get the BaseAddress
...
llvm-svn: 144222
2011-11-09 22:34:28 +00:00
Tobias Grosser
db87142b26
TempScop: Remove more of the buildAffineFunction
...
llvm-svn: 144221
2011-11-09 22:34:24 +00:00
Tobias Grosser
e6efa37e76
TempScopInfo: Remove unneeded construction of SCEVAffFunc
...
llvm-svn: 144220
2011-11-09 22:34:18 +00:00
Tobias Grosser
02aa9fe2bd
www: Fix install location of cloog in the installation guide.
...
llvm-svn: 144192
2011-11-09 17:44:03 +00:00
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
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