summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/LoopInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable,Dan Gohman2009-07-131-0/+178
| | | | | | | | and related functions out of LoopBase and into Loop, since they are specific to BasicBlock-based loops. This also allows the code to be moved out-of-line. llvm-svn: 75523
* Eliminate a layer of indirection in LoopInfo and MachineLoopInfo.Dan Gohman2009-06-271-1/+1
| | | | llvm-svn: 74394
* Remove some unnecessary #includes.Dan Gohman2009-06-051-1/+0
| | | | llvm-svn: 72948
* Change the description string of the LoopInfo pass.Dan Gohman2009-05-011-1/+1
| | | | | | | "Construction" makes it sound like a pass that might modify the CFG to construct natural loops. llvm-svn: 70580
* Remove dead comments.Evan Cheng2008-12-181-3/+0
| | | | llvm-svn: 61201
* Remove uses of llvm/System/IncludeFile.h that are no longer needed.Dan Gohman2008-05-061-3/+0
| | | | llvm-svn: 50695
* These passes preserve CFG.Devang Patel2008-03-201-1/+1
| | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623
* Restore isCFGOnly property of various analysis passes.Devang Patel2008-03-201-1/+1
| | | | llvm-svn: 48579
* PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel2008-03-191-1/+1
| | | | llvm-svn: 48554
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. ↵Owen Anderson2007-11-271-1/+1
| | | | | | This involves a small interface change. llvm-svn: 44348
* More templatization.Owen Anderson2007-11-151-230/+1
| | | | llvm-svn: 44158
* Start the process of making MachineLoopInfo possible by templating Loop.Owen Anderson2007-11-141-396/+0
| | | | llvm-svn: 44097
* Use SmallVector.Devang Patel2007-08-211-3/+3
| | | | llvm-svn: 41230
* No need to hardcode SmallVector size.Devang Patel2007-08-211-3/+3
| | | | llvm-svn: 41228
* Use SmallVector instead of std::vector.Devang Patel2007-08-211-3/+3
| | | | llvm-svn: 41207
* Verify loop info.Devang Patel2007-07-191-1/+12
| | | | llvm-svn: 40062
* Use DominatorTree instead of ETForest.Devang Patel2007-06-081-9/+9
| | | | llvm-svn: 37507
* 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-0/+1
| | | | llvm-svn: 36632
* Speed up Loop::isLCSSAForm by using a hash table instead of a sorted vector.Chris Lattner2007-03-041-9/+7
| | | | llvm-svn: 34900
* For PR950:Reid Spencer2006-12-231-8/+10
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-1/+1
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Removed some of the iostream #includes. Moved towards converting to usingBill Wendling2006-11-281-2/+3
| | | | | | llvm streams llvm-svn: 31983
* add a methodChris Lattner2006-10-281-0/+20
| | | | llvm-svn: 31249
* Do not rely on std::sort and std::erase to get list of uniqueDevang Patel2006-08-291-0/+53
| | | | | | | | exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. llvm-svn: 29966
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29921
* Make Loop::getExitBlocks significantly faster for large loops. Instead ofChris Lattner2006-08-121-3/+9
| | | | | | | | pounding on Loop::contains (which is O(n) in the size of the loop), use a sorted vector, which is O(log(N)) for each query. This speeds up Duraid's horrible testcase from ~72s to ~31s in a debug build. llvm-svn: 29645
* Speed up Loop::isLCSSAForm by using a binary search and single-entry cache.Chris Lattner2006-08-021-6/+14
| | | | | | This reduces LCSSA pass time from 1.5s to 0.96s when run on eon in release+asserts mode. llvm-svn: 29464
* Update isLCSSAForm to handle PHI nodes specially for live-out detection. ThisOwen Anderson2006-06-131-1/+6
| | | | | | is the same as the recent patch to LCSSA.cpp. llvm-svn: 28773
* Re-commit the safe parts of my 6/9 patch. Still working on fixing the ↵Owen Anderson2006-06-111-0/+16
| | | | | | unsafe parts. llvm-svn: 28748
* Back out Owen's 6/9 changes. They broke ↵Evan Cheng2006-06-111-16/+0
| | | | | | MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). llvm-svn: 28747
* Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass ↵Owen Anderson2006-06-091-0/+16
| | | | | | | | assert on this. llvm-svn: 28738
* For PR780:Reid Spencer2006-06-071-2/+3
| | | | | | | | | | 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. llvm-svn: 28715
* Change from using a stub function to a stub variable for passing to theReid Spencer2006-06-011-1/+1
| | | | | | | IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. llvm-svn: 28621
* add an assertChris Lattner2006-02-141-1/+2
| | | | llvm-svn: 26178
* Change ET-Forest to automatically recalculate its DFSnum's if too many slowChris Lattner2006-01-141-2/+2
| | | | | | | | queries are made. Patch by Daniel Berlin! llvm-svn: 25323
* Switch loopinfo to using ETForest instead of DominatorSet to compute itself.Chris Lattner2006-01-111-9/+9
| | | | | | Patch by Daniel Berlin! llvm-svn: 25199
* Add a new getLoopLatch() method.Chris Lattner2005-09-121-1/+25
| | | | llvm-svn: 23315
* Remove extra blank lineMisha Brukman2005-05-051-1/+0
| | | | llvm-svn: 21706
* Convert tabs to spacesMisha Brukman2005-04-221-3/+3
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-211-13/+13
| | | | llvm-svn: 21416
* For PR387:\Reid Spencer2004-12-071-1/+1
| | | | | | | Make only one print method to avoid overloaded virtual warnings when \ compiled with -Woverloaded-virtual llvm-svn: 18589
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-3/+3
| | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-031-1/+1
| | | | | | Patch contributed by Paolo Invernizzi! llvm-svn: 16152
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Don't grab the condition of unconditional branches!Chris Lattner2004-06-081-7/+8
| | | | | | This fixes PR363 llvm-svn: 14076
* Remove code to update loop depthsChris Lattner2004-04-191-10/+1
| | | | llvm-svn: 13058
OpenPOWER on IntegriCloud