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