89 Commits

Author SHA1 Message Date
Tobias Grosser
3c2efba7ff CodeGen: Fix typo 'form' -> 'from'
Suggested by: Sebastian Pop  <sebpop@gmail.com>

llvm-svn: 152109
2012-03-06 07:38:57 +00:00
Tobias Grosser
55d5208eae CodeGen: Document and beautify the parts of the BlockGenerators
llvm-svn: 151917
2012-03-02 15:20:39 +00:00
Tobias Grosser
df3823750e CodeGen: Pass the scalar maps properly
llvm-svn: 151916
2012-03-02 15:20:35 +00:00
Tobias Grosser
8367e0c3d2 CodeGen: Prettify
llvm-svn: 151915
2012-03-02 15:20:31 +00:00
Tobias Grosser
260e86d3f0 CodeGen: Style
llvm-svn: 151914
2012-03-02 15:20:28 +00:00
Tobias Grosser
08a8238b7a CodeGen: Move domain into the VectorBlockGenerator
llvm-svn: 151913
2012-03-02 15:20:24 +00:00
Tobias Grosser
f6beec674e CodeGen: Simplify the generation of a splat
llvm-svn: 151912
2012-03-02 15:20:21 +00:00
Tobias Grosser
415245def5 CodeGen: Prettify function
llvm-svn: 151911
2012-03-02 15:20:17 +00:00
Tobias Grosser
80998e7618 CodeGen: Create separate VectorBlockGenerator
llvm-svn: 151907
2012-03-02 11:27:28 +00:00
Tobias Grosser
642c41116d CodeGen: Extract code generation for isl types into its own class
llvm-svn: 151906
2012-03-02 11:27:25 +00:00
Tobias Grosser
44d169552b CodeGen: Remove unneeded member variable
llvm-svn: 151905
2012-03-02 11:27:21 +00:00
Tobias Grosser
32152cbd1c CodeGen: Extract code into the new function copyVectorInstruction
llvm-svn: 151904
2012-03-02 11:27:18 +00:00
Tobias Grosser
fc1153fb09 CodeGen: Sink loop to iterate vector lanes down into copyInstruction
llvm-svn: 151903
2012-03-02 11:27:15 +00:00
Tobias Grosser
8b4bf8b2fa CodeGenerator: Rename functions to show they produce vector code
llvm-svn: 151902
2012-03-02 11:27:11 +00:00
Tobias Grosser
b35d9c1dfc Fix typo
llvm-svn: 151901
2012-03-02 11:27:08 +00:00
Tobias Grosser
8927a44f90 CodeGen: No need to forward the vector dimension
llvm-svn: 151900
2012-03-02 11:27:05 +00:00
Tobias Grosser
f81a691ef7 CodeGen: Store the vector width in the block generator
This allows us to remove a lot of redundant parameters.

llvm-svn: 151899
2012-03-02 11:27:02 +00:00
Tobias Grosser
32386750a6 CodeGen: Remove dead code
llvm-svn: 151898
2012-03-02 11:26:59 +00:00
Tobias Grosser
8412cda5ad Codegen: Add Pass as a member variable of BlockGenerator
llvm-svn: 151897
2012-03-02 11:26:55 +00:00
Tobias Grosser
14bcbd5380 CodeGen: Simplify and Prettify code
llvm-svn: 151896
2012-03-02 11:26:52 +00:00
Tobias Grosser
c941ede854 CodeGen: Hide the private implementation of the block generator
llvm-svn: 151895
2012-03-02 11:26:49 +00:00
Tobias Grosser
262df3b9e7 CodeGen: Start with uppercase letter
llvm-svn: 151894
2012-03-02 11:26:46 +00:00
Tobias Grosser
ce3f537ae2 CodeGen: Only check once if a loop is parallel
Suggested by: Sebastian Pop  <sebpop@gmail.com>

llvm-svn: 151893
2012-03-02 11:26:42 +00:00
Tobias Grosser
9a44b97913 Revert "CodeGeneration: Implement ceild/floord exactly as CLooG does"
I think I did not get the implementation right. As the current implementation
works well, we will just stick with it for now.

llvm-svn: 150691
2012-02-16 14:13:19 +00:00
Tobias Grosser
62a3c96e5d CodeGen: Code following a clast_guard comes after the merge block
llvm-svn: 150675
2012-02-16 09:56:21 +00:00
Tobias Grosser
e04f318772 CodeGeneration: Implement ceild/floord exactly as CLooG does
llvm-svn: 150673
2012-02-16 09:56:14 +00:00
Tobias Grosser
906eafe32c CodeGen: Simplify code slightly
llvm-svn: 150672
2012-02-16 09:56:10 +00:00
Tobias Grosser
f12cea4257 CodeGen: Update the BasicBlock pointer correctly when creating 'polly.split...'
Problem reported by: Ryan Taylor <ryta1203@gmail.com>

llvm-svn: 150577
2012-02-15 09:58:53 +00:00
Tobias Grosser
cb47dfeb96 CodeGen: Retain the old BB names within the original SCoP
llvm-svn: 150576
2012-02-15 09:58:50 +00:00
Tobias Grosser
b61e6318ac CodeGen: Name stmt bbs 'polly.stmt.' + OriginalName
llvm-svn: 150575
2012-02-15 09:58:46 +00:00
Tobias Grosser
0ac9214c2f Recommit "CodeGen: Maintain a valid CFG during code generation"
When I first tried to commit this patch, the builder pointed after generation
of a loop still into the loop body. This means that code that was supposed to
be generated after the loop was generated right into the loop body. We fixed
this by pointing the builder to the BB after the loop, as soon as code
generation of the loop body itself is finished.

llvm-svn: 150480
2012-02-14 14:02:27 +00:00
Tobias Grosser
1773fb1c00 Revert "CodeGen: Maintain a valid CFG during code generation"
This commit contained some bugs. Revert it until I get around to fix them.

llvm-svn: 150431
2012-02-13 23:31:43 +00:00
Tobias Grosser
5c853bab78 CodeGen: Remove unused variable.
llvm-svn: 150376
2012-02-13 12:29:34 +00:00
Tobias Grosser
0b6c613a10 CodeGen: Maintain a valid CFG during code generation
Before this change we built the CFG such that it was only valid after code was
fully generated. During code generation itself, it was often incomplete. After
this change always maintain a valid CFG. This will later allow us to use the
SCEVExpander during code generation. This is the first step to get rid of the
independent blocks pass.

llvm-svn: 150339
2012-02-12 12:09:53 +00:00
Tobias Grosser
194beea739 CodeGen: Remove unused instruction
llvm-svn: 150338
2012-02-12 12:09:49 +00:00
Tobias Grosser
8518bbe39f CodeGen: Always name merge block
llvm-svn: 150337
2012-02-12 12:09:46 +00:00
Tobias Grosser
bd608a8949 CodeGen: Start variable names with uppercase letter.
llvm-svn: 150336
2012-02-12 12:09:41 +00:00
Tobias Grosser
0dbbdd7637 Codegen: Give split and merge basic blocks better names
llvm-svn: 150335
2012-02-12 12:09:37 +00:00
Tobias Grosser
d855cc5720 CodeGen: Further improve style
llvm-svn: 150334
2012-02-12 12:09:32 +00:00
Tobias Grosser
b1c9599faa CodeGen: Move generation of OpenMP out of the way
We also fix some style issues. This change contains no functional change.

llvm-svn: 150333
2012-02-12 12:09:27 +00:00
Tobias Grosser
5772e65be0 CodeGeneration: Rephrase comment slightly
llvm-svn: 149502
2012-02-01 14:23:33 +00:00
Tobias Grosser
bda1f8f808 CodeGeneration: Order includes alphabetically
llvm-svn: 149501
2012-02-01 14:23:29 +00:00
Tobias Grosser
fc98d453df Remove unneeded default case
This silences a clang warning.

llvm-svn: 149073
2012-01-26 19:53:01 +00:00
Tobias Grosser
9bc5eb08c2 CodeGen: Separate declaration and definition of ClastStmtCodeGen
llvm-svn: 148814
2012-01-24 16:42:32 +00:00
Tobias Grosser
bb137e3f03 CodeGen: Separate declaration and definition of ClastExpCodeGen
llvm-svn: 148813
2012-01-24 16:42:28 +00:00
Tobias Grosser
e5b4232572 CodeGen: Use getNullValue to simplify some code
llvm-svn: 148812
2012-01-24 16:42:25 +00:00
Tobias Grosser
70e8cdbbd1 CodeGen: Separate declaration and definitions of BlockGenerator
llvm-svn: 148811
2012-01-24 16:42:21 +00:00
Tobias Grosser
28dd48613e ScopInfo: Add isStrideX to unify stride checking
llvm-svn: 148810
2012-01-24 16:42:16 +00:00
Raghesh Aloor
ea6c99c1d9 Memaccess: Removing some unwanted code
llvm-svn: 148100
2012-01-13 06:02:13 +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