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
Raghesh Aloor
46eceba361
Memacess: Some style changes
...
llvm-svn: 146255
2011-12-09 14:27:17 +00:00
Tobias Grosser
545bc31324
CodeGen: Style improvements.
...
llvm-svn: 145932
2011-12-06 10:48:27 +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
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
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
73600b8edd
Initialize the passes early and properly.
...
llvm-svn: 141455
2011-10-08 00:30:40 +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
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
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
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
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
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
Tobias Grosser
55927aa400
Use llvm::*Type without const
...
llvm-svn: 135384
2011-07-18 09:53:32 +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
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
Tobias Grosser
9611623d02
CodeGen: Adapt to change of PHI operand storage
...
Commit 133435 "Change how PHINodes store their operands" broke Polly. Fix this
breakage by adapting to the changes in the commit.
llvm-svn: 134434
2011-07-05 19:13:31 +00:00
Tobias Grosser
97fb5acf48
CodeGeneration: Adapt to SCEVExpander change
...
Reported-By: Sebastian Pop <sebpop@gmail.com>
llvm-svn: 134179
2011-06-30 19:39:10 +00:00
Tobias Grosser
4e3f9a4c5c
CodeGeneration: Use FIXME instead of XXX
...
Cleanup suggested by ether.
llvm-svn: 131898
2011-05-23 15:23:36 +00:00
Tobias Grosser
5d6eb86965
CodeGeneration: Cleanup getAnalysis/addPreserved
...
llvm-svn: 131360
2011-05-14 19:02:45 +00:00
Tobias Grosser
3fdecaee2a
CodeGeneration: Localize variables
...
llvm-svn: 131359
2011-05-14 19:02:39 +00:00
Tobias Grosser
abb6dcd865
CodeGeneration: Admit that we change the code.
...
No need to pretend anymore that we do not update the LLVM-IR.
llvm-svn: 131358
2011-05-14 19:02:34 +00:00
Tobias Grosser
2aec339d28
Cloog: Export clast_root
...
llvm-svn: 131357
2011-05-14 19:02:29 +00:00
Tobias Grosser
e91c53d2a9
CodeGeneration: No need to forget SCoP.
...
As we do not delete the SCoP, there is no need to remove it from the SCoP
detection.
llvm-svn: 131356
2011-05-14 19:02:21 +00:00
Tobias Grosser
678dbbf3b0
CodeGeneration: We do not preserve the PostDominatorTree
...
llvm-svn: 131355
2011-05-14 19:02:12 +00:00
Tobias Grosser
7a16c895ac
CodeGeneration: Remove -polly-codegen-only
...
If we only want to optimize a single function, we should extract this function
into a separate .ll file. This simplifies the code.
llvm-svn: 131353
2011-05-14 19:01:55 +00:00
Tobias Grosser
8c4cfc327b
CodeGeneration: Do not delete the old version of the Scop.
...
Instead of deleting the old code, keep it on the side in an if-branch. It will
either be deleted by the dead code elimination or we can use it as fallback.
llvm-svn: 131352
2011-05-14 19:01:49 +00:00
Tobias Grosser
76d7c529fb
CodeGeneration: Support only simple regions
...
llvm-svn: 131351
2011-05-14 19:01:37 +00:00
Hongbin Zheng
94c5df16e2
ScopDetection: Remember the functions generated by backend in a pointer set, so we
...
do not re-generate code for these functions.
llvm-svn: 130975
2011-05-06 02:38:20 +00:00
Hongbin Zheng
dbdebe28de
Refactor: Move 'isParallelFor' from codegen backend to Dependences analysis, so other passes can also use it.
...
llvm-svn: 130752
2011-05-03 13:46:58 +00:00
Tobias Grosser
758053788b
Add initial version of Polly
...
This version is equivalent to commit ba26ebece8f5be84e9bd6315611d412af797147e
in the old git repository.
llvm-svn: 130476
2011-04-29 06:27:02 +00:00