summaryrefslogtreecommitdiff
path: root/polly/lib/CodeGen/LoopGenerators.cpp
AgeCommit message (Collapse)Author
2014-07-15[Refactor] Use attributes to mark function as invalid for pollyJohannes Doerfert
+ Test case annotated with the new attribute + Modified test case to check if subfunctions are annotated llvm-svn: 213093
2014-06-04Use range-based for loopsTobias Grosser
llvm-svn: 210170
2014-03-21clang-format: Remove empty linesTobias Grosser
llvm-svn: 204468
2014-03-13avoid warningSebastian Pop
warning: multi-line comment [-Wcomment] llvm-svn: 203811
2014-03-04Emit llvm.loop metadata for parallel loopsTobias Grosser
For now we only mark innermost loops for the loop vectorizer. We could later also mark not-innermost loops to enable the introduction of openmp parallelism. llvm-svn: 202854
2014-03-04Introduce PollyIRBuilderTobias Grosser
PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this change should not affect behavior. In subsequent patches we will extend its functionality to emit loop.parallel metadata. llvm-svn: 202853
2014-03-02Use C++11 formattingTobias Grosser
clang-formats behaviour has changed for a couple of C++11 formattings. We adapt Polly to ensure our formatting checks are clean again. llvm-svn: 202650
2014-02-25Update for llvm api change.Rafael Espindola
llvm-svn: 202183
2014-01-13Adapt to DomTree changes in r199104Tobias Grosser
llvm-svn: 199157
2014-01-13[cleanup] Update Polly for moved header in LLVM r199082.Chandler Carruth
llvm-svn: 199088
2013-08-24Remove unneeded comma and update formattingTobias Grosser
llvm-svn: 189177
2013-05-16Update LoopInfo correctlyTobias Grosser
When the Polly code generation was written we did not correctly update the LoopInfo data, but still claimed that the loop information is correct. This does not only lead to missed optimizations, but it can also cause miscompilations in case passes such as LoopSimplify are run after Polly. Reported-by: Sergei Larin <slarin@codeaurora.org> llvm-svn: 181987
2013-05-16LoopGenerators: Construct loops such that they are already loop rotatedTobias Grosser
BeforeBB | v GuardBB / \ __ PreHeaderBB \ / \ / | latch HeaderBB | \ / \ / < \ / \ / ExitBB This does not only remove the need for an explicit loop rotate pass, but it also gives us the possibility to skip the construction of the guard condition in case the loop is known to be executed at least once. We do not yet exploit this, but by implementing this analysis in the isl code generator we should be able to remove more guards than the generic loop rotate pass can. Another point is that loop rotation can introduce additional PHI nodes, which may hide that a loop can be executed in parallel. This change avoids this complication and will make it easier to move the openmp code generation into a separate pass. llvm-svn: 181986
2013-05-07Sort includesTobias Grosser
llvm-svn: 181297
2013-05-07Reformat with clang-formatTobias Grosser
clang-format become way more stable. This time we mainly reformat function signatures. llvm-svn: 181294
2013-03-20Remove unnecessary explicit typing in std::make_pairAndy Gibbs
llvm-svn: 177528
2013-02-05CodeGen: clang-format goodnessTobias Grosser
The changed files are not yet clang-format clean, but we are getting close. llvm-svn: 174403
2013-01-02Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate toChandler Carruth
reflect the migration in r171366. llvm-svn: 171370
2012-12-29Formatting: Break lines after binary operators such as '&&'Tobias Grosser
assert(Condition && "Text"); -> assert(Condition && "Text); This aligns Polly with the style used in LLVM. llvm-svn: 171242
2012-12-29Fix obvious formatting problems.Tobias Grosser
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
2012-11-01Revert multiple adress space changes in PollyTobias Grosser
llvm-svn: 167234
2012-10-25Another fix for a build-bot reported API mismatch.Chandler Carruth
llvm-svn: 166668
2012-10-16isl-codegen: Support '<' and '>'Tobias Grosser
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
2012-10-08Move TargetData to DataLayout to fix build breakage caused by LLVM r16540Micah Villmow
llvm-svn: 165408
2012-05-29Mark the increments of the generated induction variables 'NSW'Tobias Grosser
In general, all code that we produce is NSW. llvm-svn: 157606
2012-04-25Refactor: Move the code generation related header files to ↵Hongbin Zheng
include/polly/CodeGen. llvm-svn: 155547
2012-04-23Refactor: Pass the argument 'IRBuilder' and 'AfterBlock' of function ↵Hongbin Zheng
'createLoop' by reference, so that we do not need to type an extra '&' operator when calling the function. llvm-svn: 155349
2012-03-30Move the CodeGeneration.cpp to the CodeGen folder and update the build system.Hongbin Zheng
Patched by Tsingray. llvm-svn: 153736