summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/LoopPass.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* When a loop is deleted, immediately release all of the activeDan Gohman2009-09-271-0/+9
| | | | | | | | LoopPasses for that loop. This avoids trouble with the PassManager trying to call verifyAnalysis on them, and frees up some memory sooner rather than later. llvm-svn: 82945
* Delete a bogus comment.Dan Gohman2009-09-271-1/+0
| | | | llvm-svn: 82908
* Don't try to verify a LoopPass analysis if the loop has been deleted.Dan Gohman2009-09-031-1/+3
| | | | llvm-svn: 80919
* convert LoopInfo.h and GraphWriter.h to use raw_ostreamChris Lattner2009-08-231-1/+1
| | | | llvm-svn: 79836
* Call doInitialization(), releaseMemory(), and doFinalization() for ↵Torok Edwin2009-06-291-0/+3
| | | | | | | | | | on-the-fly passes as well. Also don't call finalizers for LoopPass if initialization was not called. Add a unittest that tests that these methods are called, in the proper order, and the correct number of times. llvm-svn: 74438
* Before deleting a basic block, give other loop passes a chance cleanup ↵Devang Patel2009-03-251-0/+7
| | | | | | analysis values, related to the instructions in the basic block. llvm-svn: 67719
* Sprinkle some PrettyStackEntry magic into the passmanager. With this, we nowChris Lattner2009-03-061-5/+7
| | | | | | | | | | | | | | | | get nice and happy stack traces when we crash in an optimizer or codegen. For example, an abort put in UnswitchLoops now looks like this: Stack dump: 0. Program arguments: clang pr3399.c -S -O3 1. <eof> parser at end of file 2. per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'pr3399.c'. 4. Running pass 'Loop Pass Manager' on function '@foo' 5. Running pass 'Unswitch loops' on basic block '%for.inc' Abort llvm-svn: 66260
* Add a method to ScalarEvolution for telling it when a loop has beenDan Gohman2009-02-171-3/+0
| | | | | | | | | | | modified in a way that may effect the trip count calculation. Change IndVars to use this method when it rewrites pointer or floating-point induction variables instead of using a doInitialization method to sneak these changes in before ScalarEvolution has a chance to see the loop. This eliminates the need for LoopPass to depend on ScalarEvolution. llvm-svn: 64810
* Move dumpPassStructure out of line.Dan Gohman2009-02-171-0/+10
| | | | llvm-svn: 64796
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Don't call getAnalysisUsage unless -debug-pass is enabled. This speedsChris Lattner2008-08-081-4/+2
| | | | | | up the passmgr by avoiding useless work. llvm-svn: 54528
* Fix spelling of "hierarchy" in comments.Dan Gohman2008-07-111-1/+1
| | | | llvm-svn: 53489
* Keep track of inherited analysis (e.g. dominator tree).Devang Patel2008-07-031-0/+3
| | | | llvm-svn: 53088
* Fix typos in comments. Devang Patel2008-07-011-1/+1
| | | | | | Thanks for the feedback! llvm-svn: 52978
* Add dom info verifier.Devang Patel2008-07-011-0/+3
| | | | llvm-svn: 52967
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-2/+2
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* ooops...Devang Patel2007-09-181-1/+1
| | | | llvm-svn: 42118
* - Use correct header for SCEV inside LoopPass.cppAnton Korobeynikov2007-08-201-1/+1
| | | | | | - Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug llvm-svn: 41197
* Introduce Simple Analysis interface for loop passes.Devang Patel2007-07-311-0/+21
| | | | | | Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value. llvm-svn: 40625
* Verify loop info.Devang Patel2007-07-191-14/+2
| | | | llvm-svn: 40062
* Replace mysterious code causing a g++-4.2 warningDuncan Sands2007-07-191-12/+6
| | | | | | with hopefully correct code that pleases g++-4.2. llvm-svn: 40051
* Add loop info verification mechanism.Devang Patel2007-06-291-1/+13
| | | | llvm-svn: 37822
* Drop 'const'Devang Patel2007-05-031-1/+1
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-1/+1
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-1/+4
| | | | llvm-svn: 36632
* Now IndVarSimplify is a LoopPass.Devang Patel2007-03-071-0/+3
| | | | llvm-svn: 35003
* Now LoopUnswitch is a LoopPass.Devang Patel2007-03-071-1/+2
| | | | llvm-svn: 34992
* Insert loop into LQ before visiting children.Devang Patel2007-03-061-1/+1
| | | | llvm-svn: 34982
* Use schedulePass() instead of assignPassManager() to add new LPPassManager.Devang Patel2007-03-061-3/+11
| | | | | | This ensures that require analysis info is available. llvm-svn: 34980
* Add LPPassManager::insertLoop().Devang Patel2007-03-061-0/+32
| | | | llvm-svn: 34979
* LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code fromDevang Patel2007-03-061-7/+71
| | | | | | LoopUnswitch pass. llvm-svn: 34977
* LPPassManager. Implement preparePassManager() hook.Devang Patel2007-03-061-0/+25
| | | | llvm-svn: 34975
* LPPassManager : Add initialization and finalizatino hooks.Devang Patel2007-03-061-0/+20
| | | | llvm-svn: 34968
* Use std::deque to manage loop queue inside LPPassManager.Devang Patel2007-03-061-40/+6
| | | | llvm-svn: 34943
* Avoid constructing std::strings unless pass debugging is ON.Devang Patel2007-03-051-7/+3
| | | | llvm-svn: 34933
* Fix thinko.Devang Patel2007-02-231-1/+2
| | | | llvm-svn: 34528
* Loop passes are set up to accept pointer.Devang Patel2007-02-231-1/+1
| | | | llvm-svn: 34527
* Teach LoopPass to assign itself one Loop Pass Manager.Devang Patel2007-02-231-0/+41
| | | | llvm-svn: 34510
* Add facility that allows LoopPass to re-insert a loop intoDevang Patel2007-02-231-0/+13
| | | | | | Loop Pass Manager's queue. llvm-svn: 34509
* Add LPPassManager interface that LoopPass can use to skipDevang Patel2007-02-231-0/+13
| | | | | | rest of the passes in the queue for a loop. llvm-svn: 34508
* Populate and walk loop queue.Devang Patel2007-02-221-6/+20
| | | | llvm-svn: 34505
* Add LoopQueue. This is used by loop pass manager to manage loop nest.Devang Patel2007-02-221-0/+36
| | | | llvm-svn: 34504
* Add Loop Pass Manager.Devang Patel2007-02-221-0/+69
llvm-svn: 34487
OpenPOWER on IntegriCloud