summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/PassManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. ↵Sylvestre Ledru2012-09-271-1/+1
| | | | | | See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 llvm-svn: 164768
* Fix a typo 'iff' => 'if'Sylvestre Ledru2012-09-271-1/+1
| | | | llvm-svn: 164767
* Stop casting away const qualifier needlessly.Roman Divacky2012-09-051-1/+1
| | | | llvm-svn: 163258
* Adding some debug information to PassManagerVictor Oliveira2012-07-181-0/+20
| | | | llvm-svn: 160446
* Use ArrayRef instead of an explicit vector type.Bill Wendling2012-05-141-2/+1
| | | | llvm-svn: 156755
* Take out the debug info probe stuff. It's making some changes toEric Christopher2012-03-231-22/+1
| | | | | | | the PassManager annoying and should be reimplemented as a decorator on top of existing passes (as should the timing data). llvm-svn: 153305
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-051-2/+1
| | | | llvm-svn: 149849
* Add pass printer passes in the right place.Andrew Trick2012-02-011-81/+46
| | | | | | | | | | | | The pass pointer should never be referenced after sending it to schedulePass(), which may delete the pass. To fix this bug I had to clean up the design leading to more goodness. You may notice now that any non-analysis pass is printed. So things like loop-simplify and lcssa show up, while target lib, target data, alias analysis do not show up. Normally, analysis don't mutate the IR, but you can now check this by using both -print-after and -print-before. The effects of analysis will now show up in between the two. The llc path is still in bad shape. But I'll be improving it in my next checkin. Meanwhile, print-machineinstrs still works the same way. With print-before/after, many llc passes that were not printed before now are, some of these should be converted to analysis. A few very important passes, isel and scheduler, are not properly initialized, so not printed. llvm-svn: 149480
* Unweaken vtables as per ↵David Blaikie2011-12-201-0/+6
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Let printf do the formatting instead aligning strings ourselves.Benjamin Kramer2011-10-161-1/+1
| | | | | | While at it, merge some format strings. llvm-svn: 142140
* Add a check to make sure schedulePass() has not deleted stale RequiredPass.Devang Patel2011-09-131-3/+5
| | | | llvm-svn: 139642
* Dump with dbgs() instead of printf.Benjamin Kramer2011-08-291-5/+4
| | | | llvm-svn: 138749
* Make GCC happy by adding parens.Benjamin Kramer2011-08-291-2/+2
| | | | llvm-svn: 138748
* Reapply r138695. Fix PassManager stack depths.Andrew Trick2011-08-291-15/+25
| | | | | | Patch by Xiaoyi Guo! llvm-svn: 138737
* Reverting r138695 to see if it fixes clang self host.Andrew Trick2011-08-271-25/+15
| | | | llvm-svn: 138701
* Fix PassManager stack depths.Andrew Trick2011-08-271-15/+25
| | | | | | Patch by Xiaoyi Guo! llvm-svn: 138695
* Indicate that there are changes if runOfFunction returns saying that there are.Bill Wendling2011-08-081-1/+1
| | | | | | Patch by Jingyue! llvm-svn: 137072
* Basic PassManager diagnostics.Andrew Trick2011-06-031-1/+11
| | | | | | | | Added asserts whenever attempting to use a potentially uninitialized pass. This helps people trying to develop a new pass and people trying to understand the bug reports filed by the former people. llvm-svn: 132520
* whitespaceAndrew Trick2011-06-031-3/+3
| | | | llvm-svn: 132519
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-151-1/+1
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is ↵Devang Patel2011-03-101-1/+22
| | | | | | | | | | | | treating debugging information. It generates output that lools like 8 times line number info lost by Scalar Replacement of Aggregates (SSAUp) 1 times line number info lost by Simplify well-known library calls 12 times variable info lost by Jump Threading llvm-svn: 127381
* Make these options hidden to reduce the amount of text -help puts on theEric Christopher2011-03-091-2/+4
| | | | | | command line, they'll still be seen with -help-hidden. llvm-svn: 127353
* Implement requiredTransitiveTobias Grosser2011-01-201-1/+32
| | | | | | | The PassManager did not implement the transitivity of requiredTransitive. This was unnoticed since 2006. llvm-svn: 123942
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Include ImmutablePass passes in -debug-pass=Arguments.Dan Gohman2010-11-111-0/+6
| | | | llvm-svn: 118790
* Add RegionPass support.Tobias Grosser2010-10-201-0/+3
| | | | | | | A RegionPass is executed like a LoopPass but on the regions detected by the RegionInfo pass instead of the loops detected by the LoopInfo pass. llvm-svn: 116905
* More SmallVectorImpls.Dan Gohman2010-10-121-9/+9
| | | | llvm-svn: 116279
* Shrink a SmallVector with a known maximum size.Dan Gohman2010-10-121-1/+1
| | | | llvm-svn: 116278
* Constify.Dan Gohman2010-10-121-3/+4
| | | | llvm-svn: 116277
* Use SmallVectorImpl in a bunch of places.Dan Gohman2010-10-121-9/+9
| | | | llvm-svn: 116276
* Fix the pass manager's search order for immutable passes, and make itDan Gohman2010-10-111-22/+21
| | | | | | stop searching when it has found a match. llvm-svn: 116262
* Revert r111199; it breaks -debug-pass=Structure output.Dan Gohman2010-08-191-18/+10
| | | | llvm-svn: 111500
* The plural of analysis is analyses.Dan Gohman2010-08-161-2/+2
| | | | llvm-svn: 111200
* Make dumpPassStructure be a PMDataManager abstraction, rather thanDan Gohman2010-08-161-10/+18
| | | | | | | | | | a Pass abstraction, since that's the level it's actually used at. Rename Pass' dumpPassStructure to dumpPass. This eliminates an awkward use of getAsPass() to convert a PMDataManager* into a Pass* just to permit a dumpPassStructure call. llvm-svn: 111199
* Remove redundant inline keywords.Dan Gohman2010-08-161-2/+2
| | | | llvm-svn: 111192
* Eliminate the TopLevelManagerType enum; instead, just makeDan Gohman2010-08-161-14/+6
| | | | | | | PMTopLevelManager's constructor take a PMDataManager *, which already provides the needed abstraction support. llvm-svn: 111189
* Trim #includes.Dan Gohman2010-08-121-1/+0
| | | | llvm-svn: 110983
* Tidy up whitespace.Dan Gohman2010-08-121-85/+87
| | | | llvm-svn: 110982
* Use .empty() instead of .size().Dan Gohman2010-08-121-1/+1
| | | | llvm-svn: 110981
* More #include cleanups.Dan Gohman2010-08-071-0/+1
| | | | llvm-svn: 110499
* Oops, check in this file too.Dan Gohman2010-08-071-2/+2
| | | | llvm-svn: 110496
* Tidy some #includes and forward-declarations, and move the C binding codeDan Gohman2010-08-071-36/+0
| | | | | | out of PassManager.cpp and into Core.cpp with the rest of the C binding code. llvm-svn: 110494
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-43/+61
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-50/+34
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-34/+50
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Pull out r108755. After offline discussion with Chris, we're going to go a ↵Owen Anderson2010-07-201-17/+10
| | | | | | different direction with this. llvm-svn: 108856
* Speculatively revert r108813, in an attempt to get the self-host buildbots ↵Owen Anderson2010-07-201-11/+8
| | | | | | | | working again. I don't see why this patch would cause them to fail the way they are, but none of the other intervening patches seem likely either. llvm-svn: 108818
* Reapply r108794, a fix for the failing test from last time.Owen Anderson2010-07-201-8/+11
| | | | llvm-svn: 108813
* Revert r108794, "Separate PassInfo into two classes: a constructor-freeDaniel Dunbar2010-07-201-11/+8
| | | | | | | superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is breaking teh everything. llvm-svn: 108805
* Separate PassInfo into two classes: a constructor-free superclass ↵Owen Anderson2010-07-201-8/+11
| | | | | | (StaticPassInfo) and a constructor-ful subclass (PassInfo). llvm-svn: 108794
OpenPOWER on IntegriCloud