summaryrefslogtreecommitdiffstats
path: root/polly/lib/Transform/DeadCodeElimination.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add __isl_give annotations to return types [NFC]Johannes Doerfert2016-04-091-1/+1
| | | | llvm-svn: 265882
* Allow the client of DependenceInfo to obtain dependences at different ↵Hongbin Zheng2016-03-031-2/+2
| | | | | | granularities. llvm-svn: 262591
* [NFC] Consistenly use commented and annotated ScopPass functionsJohannes Doerfert2015-09-271-3/+2
| | | | | | | | | | | The changes affect methods that are part of the Pass interface and include: - Comments that describe the methods purpose. - A consistent use of the keywords override and virtual. Additionally, the printScop method is now optional and removed from SCoP passes that do not implement it. llvm-svn: 248685
* Add explicit #includes for used isl featuresTobias Grosser2015-05-091-0/+1
| | | | llvm-svn: 236931
* Sort include directivesTobias Grosser2015-05-091-1/+1
| | | | | | | | | | Upcoming revisions of isl require us to include header files explicitly, which have previously been already transitively included. Before we add them, we sort the existing includes. Thanks to Chandler for sort_includes.py. A simple, but very convenient script. llvm-svn: 236930
* Create a dependence struct to hold dependence information for a SCoP.Johannes Doerfert2015-03-051-4/+5
| | | | | | | | | | | The new Dependences struct in the DependenceInfo holds all information that was formerly part of the DependenceInfo. It also provides the same interface for the user to access this information. This is another step to a more general ScopPass interface that does allow multiple SCoPs to be "in flight". llvm-svn: 231327
* Rename the Dependences pass to DependenceInfo [NFC]Johannes Doerfert2015-03-041-5/+5
| | | | | | | | | | We rename the Dependences pass to DependenceInfo as a first step to a caching pass policy. The new DependenceInfo pass will later provide "Dependences" for a SCoP. To keep consistency the test folder is renamed too. llvm-svn: 231308
* [Refactor] Use virtual and override appropriatelyJohannes Doerfert2015-03-011-3/+3
| | | | | | | + Add override for overwritten methods. + Remove virtual for methods we do not want to be overwritten. llvm-svn: 230898
* [Refactor] Add a Scop & as argument to printScopJohannes Doerfert2015-03-011-2/+2
| | | | | | This is the first step in the interface simplification. llvm-svn: 230897
* Dead code elimination: Update dependences after eliminating codeTobias Grosser2014-12-171-1/+7
| | | | | | | | | | | | Without updating dependences we may lose implicit transitive dependences for which all explicit dependences have gone through the statement iterations we have just eliminated. No test case. We should probably implement a -verify-dependences option. This fixes llvm.org/PR21227 llvm-svn: 224459
* DeadCodeElimination: Fix liveout computationTobias Grosser2014-07-141-14/+22
| | | | | | | | | | | | | | | We move back to a simple approach where the liveout is the last must-write statement for a data-location plus all may-write statements. The previous approach did not work out. We would have to consider per-data-access dependences, instead of per-statement dependences to correct it. As this adds complexity and it seems we would not gain anything over the simpler approach that we implement in this commit, I moved us back to the old approach of computing the liveout, but enhanced it to also add may-write accesses. We also fix the test case and explain why we can not perform dead code elimination in this case. llvm-svn: 212925
* Remove unnecessary isl annotationsTobias Grosser2014-07-111-2/+2
| | | | | | | They where just left over from copy-pasting. Reported-by: Johannes Doerfert <jdoerfert@codeaurora.org> llvm-svn: 212800
* DeadCodeElim: Compute correct liveout for non-affine accessesTobias Grosser2014-07-111-15/+25
| | | | | | | Thanks to Johannes Doerfert for narrowing down the bug. Reported-by: Chris Jenneisch <chrisj@codeaurora.org> llvm-svn: 212796
* Model statement wise reduction dependencesJohannes Doerfert2014-06-201-1/+2
| | | | | | | | | | | | | + Collect reduction dependences + Introduced TYPE_RED in Dependences.h which can be used to obtain the reduction dependences + Used TYPE_RED to prevent parallelization while we do not have a privatizing code generation + Relax the dependences for non-parallel code generation + Add privatization dependences to ensure correctness + 12 Test cases to check for reduction and privatization dependences llvm-svn: 211369
* clang-format: Remove empty linesTobias Grosser2014-03-211-1/+0
| | | | llvm-svn: 204468
* Allow several polly command line options to be provided multiple timesTobias Grosser2014-03-131-1/+1
| | | | | Contributed-by: Sam Novak <snovak@uwsp.edu> llvm-svn: 203869
* Move transformations into own directoryAndreas Simbuerger2014-03-111-0/+157
Move all transformations into their own directory. CMakeLists are adjusted accordingly. llvm-svn: 203607
OpenPOWER on IntegriCloud