summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/IslCodeGeneration.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Support SCoPs with multiple entry edges.Tobias Grosser2013-04-161-9/+3
| | | | | | | | | | | | | | | | | | | | | Regions that have multiple entry edges are very common. A simple if condition yields e.g. such a region: if / \ then else \ / for_region This for_region contains two entry edges 'then' -> 'for_region' and 'else' -> 'for_region'. Previously we scheduled the RegionSimplify pass to translate such regions into simple regions. With this patch, we now support them natively when the region is in -loop-simplify form, which means the entry block should not be a loop header. Contributed by: Star Tan <tanmx_star@yeah.net> llvm-svn: 179586
* Update formatting to latest version of clang-formatTobias Grosser2013-04-101-4/+4
| | | | llvm-svn: 179160
* Support SCoPs with multiple exit edgesTobias Grosser2013-04-101-1/+12
| | | | | | | | | | | | | | | | | | | | | | Regions that have multiple exit edges are very common. A simple if condition yields e.g. such a region: if / \ then else \ / after Region: if -> after This regions contains the bbs 'if', 'then', 'else', but not 'after'. It has two exit edges 'then' -> 'after' and 'else' -> 'after'. Previously we scheduled the RegionSimplify pass to translate such regions into simple regions. With this patch, we now support them natively. Contributed-by: Star Tan <tanmx_star@yeah.net> llvm-svn: 179159
* clang-format: Many more filesTobias Grosser2013-03-231-2/+1
| | | | | | | | | | | | | After this commit, polly is clang-format clean. This can be tested with 'ninja polly-check-format'. Updates to clang-format may change this, but the differences will hopefully be both small and general improvements to the formatting. We currently have some not very nice formatting for a couple of items, DEBUG() stmts for example. I believe the benefit of being clang-format clean outweights the not perfect layout of this code. llvm-svn: 177796
* Remove dependence on canonical induction variableTobias Grosser2013-03-201-0/+1
| | | | | | | | When using the scev based code generation, we now do not rely on the presence of a canonical induction variable any more. This commit prepares the path to (conditionally) disable the induction variable canonicalization pass. llvm-svn: 177548
* Silence 'variable unused' warning in release modeTobias Grosser2013-03-201-0/+1
| | | | llvm-svn: 177515
* use the canonical IV only when it existsSebastian Pop2013-03-181-6/+8
| | | | llvm-svn: 177306
* CodeGen: clang-formatTobias Grosser2013-02-221-20/+18
| | | | llvm-svn: 175872
* add LoopToScev mapsSebastian Pop2013-02-151-11/+16
| | | | llvm-svn: 175295
* CodeGen: clang-format goodnessTobias Grosser2013-02-051-78/+73
| | | | | | The changed files are not yet clang-format clean, but we are getting close. llvm-svn: 174403
* Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate toChandler Carruth2013-01-021-2/+2
| | | | | | reflect the migration in r171366. llvm-svn: 171370
* Formatting: Break lines after binary operators such as '&&'Tobias Grosser2012-12-291-26/+26
| | | | | | | | | | | | | | assert(Condition && "Text"); -> assert(Condition && "Text); This aligns Polly with the style used in LLVM. llvm-svn: 171242
* Fix obvious formatting problems.Tobias Grosser2012-12-291-13/+10
| | | | | | | | | | | | | | | | | | | | | | We fix the following formatting problems found by clang-format: - 80 cols violations - Obvious problems with missing or too many spaces - multiple new lines in a row clang-format suggests many more changes, most of them falling in the following two categories: 1) clang-format does not at all format a piece of code nicely 2) The style that clang-format suggests does not match the style used in Polly/LLVM I consider differences caused by reason 1) bugs, which should be fixed by improving clang-format. Differences due to 2) need to be investigated closer to understand the cause of the difference and the solution that should be taken. llvm-svn: 171241
* return -1 when polly::getNumberOfIterations returns -1Sebastian Pop2012-12-181-1/+4
| | | | llvm-svn: 170422
* isl: vector code generation based on ISL astSebastian Pop2012-12-181-15/+199
| | | | | | Original patch by Tobias Grosser, slightly modified by Sebastian Pop. llvm-svn: 170420
* autoconf/cmake: Always require isl code generation.Tobias Grosser2012-10-211-4/+0
| | | | | | | | This change ensures that isl is only detected if it includes code generation support. This allows us to remove a lot of conditional compilation and also avoids missing test cases in case the feature is not available. llvm-svn: 166403
* isl-codegen: Support '<' and '>'Tobias Grosser2012-10-161-6/+27
| | | | | | | | Previously isl always generated '<=' or '>='. However, in many cases '<' or '>' leads to simpler code. This commit updates isl and adds the relevant code generation support to Polly. llvm-svn: 166020
* Move TargetData to DataLayout to fix build breakage caused by LLVM r16540Micah Villmow2012-10-081-1/+1
| | | | llvm-svn: 165408
* Add a new isl based code generationTobias Grosser2012-10-021-0/+859
| | | | | | | | | This pass implements a new code generator that uses the code generation algorithm included in isl. For the moment the new code generation is limited to sequential code. llvm-svn: 165037
* add a check for ISL codegen at configure timeSebastian Pop2012-05-071-0/+21
llvm-svn: 156305
OpenPOWER on IntegriCloud