Tobias Grosser
29666113fd
ScheduleOptimizer: Simplify some code
...
We now use isl_map_equate, which makes the code a lot simpler.
llvm-svn: 157246
2012-05-22 10:47:31 +00:00
Tobias Grosser
18daacad61
ScopInfo: Add parameter bounds to context
...
Derive the maximal and minimal values of a parameter from the type it has. Add
this information to the scop context. This information is needed, to derive
optimal types during code generation.
llvm-svn: 157245
2012-05-22 10:47:27 +00:00
Tobias Grosser
3b2cf96bae
Replace some asserts with llvm_unreachable
...
llvm-svn: 157244
2012-05-22 10:47:21 +00:00
Tobias Grosser
42b69e5745
ScopInfo: SCEVUnknowns are always parameters
...
There is no need for special code to handle SCEVUnknowns. SCEVUnkowns are always
parameters and will be handled by the generic parameter handling code in
visit().
llvm-svn: 157243
2012-05-22 10:47:17 +00:00
Tobias Grosser
e192b23f5e
Move isParallelFor into CodeGeneration
...
This removes another include of CLooG header files.
llvm-svn: 157242
2012-05-22 08:46:07 +00:00
Sebastian Pop
8b7f01c6a1
make registerPollyPreoptPasses static
...
llvm-svn: 156326
2012-05-07 21:27:11 +00:00
Sebastian Pop
5cc8caf88d
make registerPollyPasses static, remove param
...
llvm-svn: 156325
2012-05-07 21:27:09 +00:00
Sebastian Pop
e1f6554ed8
add some more missing ifdef CLOOG_FOUND
...
llvm-svn: 156306
2012-05-07 16:35:11 +00:00
Sebastian Pop
082cea8616
add a check for ISL codegen at configure time
...
llvm-svn: 156305
2012-05-07 16:20:07 +00:00
Hongbin Zheng
da4bf55066
WWW: Adapt the vectorize option change.
...
llvm-svn: 156256
2012-05-06 10:22:57 +00:00
Hongbin Zheng
6417255283
Regression tests: Adapt the vectorize option change.
...
llvm-svn: 156255
2012-05-06 10:22:43 +00:00
Hongbin Zheng
6879421727
Allow polly ask bb-vectorizer to vectorize the loop body.
...
llvm-svn: 156254
2012-05-06 10:22:19 +00:00
Sebastian Pop
775d8e65e8
fix typo
...
llvm-svn: 156210
2012-05-04 21:36:08 +00:00
Chandler Carruth
30dfdfca3b
Try to fix the Polly build while I'm trying to get it to build at all locally.
...
llvm-svn: 156207
2012-05-04 21:24:27 +00:00
Chandler Carruth
d6447953f2
Update Polly to match the LLVM interface change in r156196.
...
llvm-svn: 156203
2012-05-04 20:57:29 +00:00
Sebastian Pop
c200977905
compile cloog code only when CLOOG_FOUND is set
...
llvm-svn: 156199
2012-05-04 20:30:03 +00:00
Sebastian Pop
de613265c5
move Cloog.cpp to CodeGen
...
llvm-svn: 156184
2012-05-04 18:15:57 +00:00
Tobias Grosser
14afc07577
Fix typo.
...
Reported by: Andreas Simbuerger
llvm-svn: 156171
2012-05-04 12:11:01 +00:00
Tobias Grosser
913fa54836
ScopDection: Improve status message for non-affine memory accesses.
...
llvm-svn: 156170
2012-05-04 11:26:52 +00:00
Tobias Grosser
ca9a2913b7
Remove unused function
...
Suggested by: Sebastian Pop
llvm-svn: 155863
2012-04-30 23:49:05 +00:00
Tobias Grosser
e71c6ab54c
SCEV based code generation
...
This is an incomplete implementation of the SCEV based code generation.
When finished it will remove the need for -indvars -enable-iv-rewrite.
For the moment it is still disabled. Even though it passes 'make polly-test',
there are still loose ends especially in respect of OpenMP code generation.
llvm-svn: 155717
2012-04-27 16:36:14 +00:00
Hongbin Zheng
746eefeddd
1. Add a header guard for RegisterPasses.h to prevent multiple inclusion.
...
2. Include the helper function and the helper class in the RegisterPasses.h into the polly namespace.
llvm-svn: 155636
2012-04-26 13:55:33 +00:00
Tobias Grosser
f91c441e72
Further simplify parallelism test
...
llvm-svn: 155634
2012-04-26 13:43:03 +00:00
Tobias Grosser
460e9a463d
ScheduleOptimizer: Move functions into class
...
llvm-svn: 155548
2012-04-25 13:22:43 +00:00
Hongbin Zheng
8a8466106c
Refactor: Move the code generation related header files to include/polly/CodeGen.
...
llvm-svn: 155547
2012-04-25 13:18:28 +00:00
Hongbin Zheng
3b11a16a44
Refactor: Move the declaration of the BlockGenerator/VectorBlockGenerator
...
to standalone header and source files.
llvm-svn: 155546
2012-04-25 13:16:49 +00:00
Hongbin Zheng
39645abf4c
ScopStmt: Provide a function to allow users look up the corresponding
...
memory access of a particular instruction, the function will return
null if no such memory access.
llvm-svn: 155544
2012-04-25 09:34:33 +00:00
Hongbin Zheng
86a37745eb
Minor change: Replace convertInt in ScopInfo.cpp by utostr_32, which is
...
defined in StringExtras.h.
llvm-svn: 155539
2012-04-25 08:01:38 +00:00
Tobias Grosser
fe0675927d
Simplify import/export command line flags.
...
Instead of -polly-run-import-jscop and -polly-run-export-jscop, we just use
-polly-import and -polly-export.
llvm-svn: 155446
2012-04-24 16:12:34 +00:00
Tobias Grosser
58eee8f106
Unify the optimizer selection.
...
We now support -polly-optimizer=isl, -polly-optimizer=pocc and
-polly-optimizer=none. The option -polly-no-optimizer is gone.
llvm-svn: 155445
2012-04-24 16:12:30 +00:00
Tobias Grosser
7c3061acdd
Make vector tests less sensible to codegen changes
...
llvm-svn: 155438
2012-04-24 11:08:07 +00:00
Hongbin Zheng
4ac4e15582
Refactor: Pass the argument 'IRBuilder' and 'AfterBlock' of function 'createLoop' by
...
reference, so that we do not need to type an extra '&' operator when calling the function.
llvm-svn: 155349
2012-04-23 13:03:56 +00:00
Hongbin Zheng
6f7aa074ad
1. Add a header guard for LoopGenerators.h to prevent multiple inclusion.
...
2. Include the helper function and the helper class in the LoopGenerator.h into the polly namespace.
llvm-svn: 155348
2012-04-23 13:03:43 +00:00
Tobias Grosser
902c9b243d
Dependences: Rework parallelism check
...
After working and explaining this function to someone, I realized it could be
simplified and better documented.
llvm-svn: 155135
2012-04-19 16:38:16 +00:00
Tobias Grosser
105c984b51
www: Update matmul example slightly.
...
llvm-svn: 154952
2012-04-17 21:38:20 +00:00
Tobias Grosser
216ea58b21
ScheduleOpt: Fix crash with -enable-polly-vector
...
llvm-svn: 154808
2012-04-16 11:06:06 +00:00
Tobias Grosser
4cb5461dae
CodeGen: Generate scalar code if vector instructions cannot be generated
...
This fixes two crashes that appeared in case of:
- A load of a non vectorizable type (e.g. float**)
- An instruction that is not vectorizable (e.g. call)
llvm-svn: 154586
2012-04-12 10:46:55 +00:00
Hongbin Zheng
e2107f0999
Revert "Make the "all" target depend on polly-test, so that users can run regression"
...
This reverts commit 97bd8d50881000c11b65b0e033996ec5f57bcd15.
llvm-svn: 154487
2012-04-11 07:43:24 +00:00
Hongbin Zheng
91bfd78fb2
Revert "Fix a bug introduced by r153739: We are not able to provide the correct"
...
This reverts commit 2c6bdbf972ac966498489d30a33bfd252df9107d.
llvm-svn: 154486
2012-04-11 07:43:13 +00:00
Tobias Grosser
d654c250c4
Fix typo
...
Suggested by: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 154415
2012-04-10 18:12:19 +00:00
Tobias Grosser
f9fbbdfd74
Fix typos.
...
Pointed out by: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 154337
2012-04-09 19:46:05 +00:00
Hongbin Zheng
ed986ab6a4
Rewritten expandRegion to clarify the intention and improve
...
performance, patched by Johannes Doerfert <johannes@jdoerfert.de>.
llvm-svn: 154260
2012-04-07 15:14:28 +00:00
Hongbin Zheng
3a2d6035d2
ScopDetection: Add some comments to function "expandRegion".
...
llvm-svn: 154259
2012-04-07 12:29:27 +00:00
Hongbin Zheng
94868e6cc6
Speed up SCoP detection time by checking the exit of the region first,
...
patched by Johannes Doerfert <johannes@jdoerfert.de>.
llvm-svn: 154258
2012-04-07 12:29:17 +00:00
Tobias Grosser
84ecc47e1c
CodeGen: Allow Polly to do 'grouped unrolling', but no vector generation.
...
Grouped unrolling means that we unroll a loop such that the different instances
of a certain statement are scheduled right after each other, but we do
not generate any vector code. The idea here is that we can schedule the
bb vectorizer right afterwards and use it heuristics to decide when
vectorization should be performed.
llvm-svn: 154251
2012-04-07 06:16:08 +00:00
Hongbin Zheng
2b4aeca74e
Fix a bug introduced by r153739: We are not able to provide the correct
...
dependent list for target polly-test, hence making "all" from the top
of llvm build directory will cause the target "polly-test" being built
before its dependencing target built.
Patched by Sebastian Pop<spop@codeaurora.org>
llvm-svn: 154162
2012-04-06 03:56:27 +00:00
Tobias Grosser
8239a4cadf
CodeGen: Remove unused declaration
...
llvm-svn: 153954
2012-04-03 12:37:14 +00:00
Tobias Grosser
0905a23806
CodeGen: Recreate old ivs with the original type
...
To avoid overflows we still use a larger type (i64) while calculating the value
of the old ivs. However, we truncate the result to the type of the old iv when
providing it to the new code.
A corresponding test case is added to the polly test suite. Also, a failing test
case is fixed.
This fixes PR12311.
Contributed by: Tsingray Liu <tsingrayliu@gmail.com>
llvm-svn: 153952
2012-04-03 12:24:32 +00:00
Hongbin Zheng
9270a8875a
www: Fix typo, replace "LD_LBIRARY_PATH" by "LD_LIBRARY_PATH" in get_started.
...
llvm-svn: 153948
2012-04-03 09:15:52 +00:00
Hongbin Zheng
da4138d105
www: Append path instead overwrite path when exporting the path of pocc.
...
llvm-svn: 153936
2012-04-03 06:29:27 +00:00