summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGeneration.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move the CodeGeneration.cpp to the CodeGen folder and update the build system.Hongbin Zheng2012-03-301-1689/+0
| | | | | | Patched by Tsingray. llvm-svn: 153736
* CodeGeneration: Proberly build the dominator treeTobias Grosser2012-03-291-0/+15
| | | | llvm-svn: 153645
* CodeGen: Remove the need for setIVSTobias Grosser2012-03-231-49/+47
| | | | llvm-svn: 153331
* CodeGen: Simplify Variable NamesTobias Grosser2012-03-231-5/+4
| | | | llvm-svn: 153330
* CodeGen: Extract the LLVM-IR generaction of scalar and OpenMP loops.Tobias Grosser2012-03-231-311/+62
| | | | | | | | We create a new file LoopGenerators that provides utility classes for the generation of OpenMP parallel and scalar loops. This means we move a lot of the OpenMP generation out of the Polly specific code generator. llvm-svn: 153325
* CodeGen: Change some variables to uppercaseTobias Grosser2012-03-231-44/+44
| | | | | | No functional changes intended. llvm-svn: 153321
* CodeGen: Full support for isl_pw expressions in modified access functions.Tobias Grosser2012-03-231-17/+74
| | | | | | | | | | | This also adds support for modifiable write accesses (until now only read accesses where supported). We currently do not derive an exact type for the expression, but assume that i64 is good enough. This will be improved in future patches. Contributed by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 153319
* Do not fail if a command line argument is given more than onceTobias Grosser2012-03-161-4/+4
| | | | | | | | | | | | For boolean flags in Polly there is no problem if they are given more than once. Hence, we can allow it to not fail for build systems that (acciently) add flags several times. This fixes: PR12278 Reported by: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152933
* CodeGen: Call isl_set_copy() within the loopTobias Grosser2012-03-151-4/+4
| | | | llvm-svn: 152793
* CodeGen: Start variables with uppercase lettersTobias Grosser2012-03-151-17/+16
| | | | llvm-svn: 152792
* CodeGen: Get analyses from the Pass instanceTobias Grosser2012-03-151-38/+22
| | | | llvm-svn: 152791
* CodeGen: Introduce helper function to get pointer to intTobias Grosser2012-03-151-23/+19
| | | | llvm-svn: 152790
* Memaccess: Removing unwanted codeRaghesh Aloor2012-03-131-4/+0
| | | | | | | When the code is moved to IslGenerator class there is no use for IslPwAffUserInfo. llvm-svn: 152612
* CodeGen: Fix typo 'form' -> 'from'Tobias Grosser2012-03-061-4/+4
| | | | | | Suggested by: Sebastian Pop <sebpop@gmail.com> llvm-svn: 152109
* CodeGen: Document and beautify the parts of the BlockGeneratorsTobias Grosser2012-03-021-71/+132
| | | | llvm-svn: 151917
* CodeGen: Pass the scalar maps properlyTobias Grosser2012-03-021-76/+78
| | | | llvm-svn: 151916
* CodeGen: PrettifyTobias Grosser2012-03-021-9/+7
| | | | llvm-svn: 151915
* CodeGen: StyleTobias Grosser2012-03-021-5/+4
| | | | llvm-svn: 151914
* CodeGen: Move domain into the VectorBlockGeneratorTobias Grosser2012-03-021-19/+16
| | | | llvm-svn: 151913
* CodeGen: Simplify the generation of a splatTobias Grosser2012-03-021-10/+3
| | | | llvm-svn: 151912
* CodeGen: Prettify functionTobias Grosser2012-03-021-31/+19
| | | | llvm-svn: 151911
* CodeGen: Create separate VectorBlockGeneratorTobias Grosser2012-03-021-220/+261
| | | | llvm-svn: 151907
* CodeGen: Extract code generation for isl types into its own classTobias Grosser2012-03-021-60/+73
| | | | llvm-svn: 151906
* CodeGen: Remove unneeded member variableTobias Grosser2012-03-021-8/+1
| | | | llvm-svn: 151905
* CodeGen: Extract code into the new function copyVectorInstructionTobias Grosser2012-03-021-26/+34
| | | | llvm-svn: 151904
* CodeGen: Sink loop to iterate vector lanes down into copyInstructionTobias Grosser2012-03-021-46/+35
| | | | llvm-svn: 151903
* CodeGenerator: Rename functions to show they produce vector codeTobias Grosser2012-03-021-10/+11
| | | | llvm-svn: 151902
* Fix typoTobias Grosser2012-03-021-1/+1
| | | | llvm-svn: 151901
* CodeGen: No need to forward the vector dimensionTobias Grosser2012-03-021-23/+26
| | | | llvm-svn: 151900
* CodeGen: Store the vector width in the block generatorTobias Grosser2012-03-021-54/+52
| | | | | | This allows us to remove a lot of redundant parameters. llvm-svn: 151899
* CodeGen: Remove dead codeTobias Grosser2012-03-021-3/+0
| | | | llvm-svn: 151898
* Codegen: Add Pass as a member variable of BlockGeneratorTobias Grosser2012-03-021-7/+8
| | | | llvm-svn: 151897
* CodeGen: Simplify and Prettify codeTobias Grosser2012-03-021-11/+9
| | | | llvm-svn: 151896
* CodeGen: Hide the private implementation of the block generatorTobias Grosser2012-03-021-6/+15
| | | | llvm-svn: 151895
* CodeGen: Start with uppercase letterTobias Grosser2012-03-021-2/+2
| | | | llvm-svn: 151894
* CodeGen: Only check once if a loop is parallelTobias Grosser2012-03-021-11/+17
| | | | | | Suggested by: Sebastian Pop <sebpop@gmail.com> llvm-svn: 151893
* Revert "CodeGeneration: Implement ceild/floord exactly as CLooG does"Tobias Grosser2012-02-161-31/+13
| | | | | | | 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
* CodeGen: Code following a clast_guard comes after the merge blockTobias Grosser2012-02-161-0/+2
| | | | llvm-svn: 150675
* CodeGeneration: Implement ceild/floord exactly as CLooG doesTobias Grosser2012-02-161-13/+31
| | | | llvm-svn: 150673
* CodeGen: Simplify code slightlyTobias Grosser2012-02-161-8/+4
| | | | llvm-svn: 150672
* CodeGen: Update the BasicBlock pointer correctly when creating 'polly.split...'Tobias Grosser2012-02-151-1/+1
| | | | | | Problem reported by: Ryan Taylor <ryta1203@gmail.com> llvm-svn: 150577
* CodeGen: Retain the old BB names within the original SCoPTobias Grosser2012-02-151-1/+6
| | | | llvm-svn: 150576
* CodeGen: Name stmt bbs 'polly.stmt.' + OriginalNameTobias Grosser2012-02-151-1/+1
| | | | llvm-svn: 150575
* Recommit "CodeGen: Maintain a valid CFG during code generation"Tobias Grosser2012-02-141-56/+62
| | | | | | | | | | 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
* Revert "CodeGen: Maintain a valid CFG during code generation"Tobias Grosser2012-02-131-57/+56
| | | | | | This commit contained some bugs. Revert it until I get around to fix them. llvm-svn: 150431
* CodeGen: Remove unused variable.Tobias Grosser2012-02-131-6/+3
| | | | llvm-svn: 150376
* CodeGen: Maintain a valid CFG during code generationTobias Grosser2012-02-121-56/+57
| | | | | | | | | | 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
* CodeGen: Remove unused instructionTobias Grosser2012-02-121-2/+0
| | | | llvm-svn: 150338
* CodeGen: Always name merge blockTobias Grosser2012-02-121-1/+1
| | | | llvm-svn: 150337
* CodeGen: Start variable names with uppercase letter.Tobias Grosser2012-02-121-28/+25
| | | | llvm-svn: 150336
OpenPOWER on IntegriCloud