d021c2d56b 
								
							 
						 
						
							
							
								
								Fix bug: LoopPreheaders/2003-04-25-AssertFail.ll  
							
							... 
							
							
							
							llvm-svn: 5959 
							
						 
						
							2003-04-26 19:34:18 +00:00  
				
					
						
							
							
								 
						
							
								a777f7a7ed 
								
							 
						 
						
							
							
								
								Add dump method for Loops  
							
							... 
							
							
							
							llvm-svn: 5671 
							
						 
						
							2003-02-28 16:54:45 +00:00  
				
					
						
							
							
								 
						
							
								72f876223f 
								
							 
						 
						
							
							
								
								Simplify a bit by using a new member function  
							
							... 
							
							
							
							llvm-svn: 5662 
							
						 
						
							2003-02-27 22:48:08 +00:00  
				
					
						
							
							
								 
						
							
								72a9854584 
								
							 
						 
						
							
							
								
								Change behavior of changeExitBlock function to replace all instances of exit block  
							
							... 
							
							
							
							llvm-svn: 5661 
							
						 
						
							2003-02-27 22:37:44 +00:00  
				
					
						
							
							
								 
						
							
								4f3b1d1808 
								
							 
						 
						
							
							
								
								Fix bug: LICM/2003-02-27-PreheaderProblem.ll  
							
							... 
							
							
							
							There may be a single outside predecessor and
still need a new loop-preheader if the predecessor has multiple
successors.
llvm-svn: 5656 
							
						 
						
							2003-02-27 21:51:38 +00:00  
				
					
						
							
							
								 
						
							
								b7b58f65c6 
								
							 
						 
						
							
							
								
								- LoopInfo now calculates and tracks loop exit blocks  
							
							... 
							
							
							
							llvm-svn: 5650 
							
						 
						
							2003-02-27 00:38:34 +00:00  
				
					
						
							
							
								 
						
							
								ef6ea65807 
								
							 
						 
						
							
							
								
								Dramatically simplify building of natural loops and fix a bug where the BBMap  
							
							... 
							
							
							
							was not correctly computed.
llvm-svn: 5606 
							
						 
						
							2003-02-22 21:33:11 +00:00  
				
					
						
							
							
								 
						
							
								1cbe5116ff 
								
							 
						 
						
							
							
								
								Fix the requisite bug that I introduced  
							
							... 
							
							
							
							llvm-svn: 5605 
							
						 
						
							2003-02-20 00:28:00 +00:00  
				
					
						
							
							
								 
						
							
								1dc4c29b6d 
								
							 
						 
						
							
							
								
								Fix 80 character formatting  
							
							... 
							
							
							
							llvm-svn: 5604 
							
						 
						
							2003-02-20 00:18:07 +00:00  
				
					
						
							
							
								 
						
							
								0049419836 
								
							 
						 
						
							
							
								
								Fix bug: 2003-02-19-LoopInfoNestingBug.ll  
							
							... 
							
							
							
							llvm-svn: 5603 
							
						 
						
							2003-02-20 00:17:17 +00:00  
				
					
						
							
							
								 
						
							
								3845be203d 
								
							 
						 
						
							
							
								
								Added helper functions in LoopInfo: isLoopExit and numBackEdges.  
							
							... 
							
							
							
							llvm-svn: 4112 
							
						 
						
							2002-10-11 05:31:10 +00:00  
				
					
						
							
							
								 
						
							
								1931788143 
								
							 
						 
						
							
							
								
								Minor tweak  
							
							... 
							
							
							
							llvm-svn: 3985 
							
						 
						
							2002-09-29 22:59:29 +00:00  
				
					
						
							
							
								 
						
							
								467a9e84c4 
								
							 
						 
						
							
							
								
								Fix printing of loop information  
							
							... 
							
							
							
							llvm-svn: 3977 
							
						 
						
							2002-09-29 21:43:04 +00:00  
				
					
						
							
							
								 
						
							
								3524f58309 
								
							 
						 
						
							
							
								
								Fix printing of loop information  
							
							... 
							
							
							
							llvm-svn: 3941 
							
						 
						
							2002-09-26 16:15:54 +00:00  
				
					
						
							
							
								 
						
							
								08373d1c9c 
								
							 
						 
						
							
							
								
								- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.  
							
							... 
							
							
							
							These allow extra information to be easily gathered, and loopinfo to be
    updated.
llvm-svn: 3936 
							
						 
						
							2002-09-26 05:32:50 +00:00  
				
					
						
							
							
								 
						
							
								e87291ef83 
								
							 
						 
						
							
							
								
								Changed so it gets linked properly  
							
							... 
							
							
							
							llvm-svn: 3508 
							
						 
						
							2002-08-26 16:45:19 +00:00  
				
					
						
							
							
								 
						
							
								1a386b6a73 
								
							 
						 
						
							
							
								
								- Do not expose ::ID from any of the analyses anymore.  
							
							... 
							
							
							
							llvm-svn: 3417 
							
						 
						
							2002-08-21 17:09:49 +00:00  
				
					
						
							
							
								 
						
							
								40eb9dafed 
								
							 
						 
						
							
							
								
								- Cleaned up the interface to AnalysisUsage to take analysis class names  
							
							... 
							
							
							
							instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264 
							
						 
						
							2002-08-08 19:01:28 +00:00  
				
					
						
							
							
								 
						
							
								31aa7e72f2 
								
							 
						 
						
							
							
								
								Declare that these passes only depend on the CFG of the function  
							
							... 
							
							
							
							llvm-svn: 3157 
							
						 
						
							2002-07-30 16:27:52 +00:00  
				
					
						
							
							
								 
						
							
								f356bcc824 
								
							 
						 
						
							
							
								
								* Eliminate the Provided set.  All Passes now finally just automatically  
							
							... 
							
							
							
							provide themselves.
llvm-svn: 3124 
							
						 
						
							2002-07-29 21:03:33 +00:00  
				
					
						
							
							
								 
						
							
								2675007573 
								
							 
						 
						
							
							
								
								* Standardize how analysis results/passes as printed with the print() virtual  
							
							... 
							
							
							
							methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.
llvm-svn: 3116 
							
						 
						
							2002-07-27 01:12:17 +00:00  
				
					
						
							
							
								 
						
							
								a2c0985980 
								
							 
						 
						
							
							
								
								* Add support for different "PassType's"  
							
							... 
							
							
							
							* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
llvm-svn: 3112 
							
						 
						
							2002-07-26 21:12:44 +00:00  
				
					
						
							
							
								 
						
							
								113f4f4609 
								
							 
						 
						
							
							
								
								MEGAPATCH checkin.  
							
							... 
							
							
							
							For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779 
							
						 
						
							2002-06-25 16:13:24 +00:00  
				
					
						
							
							
								 
						
							
								2db70cea7c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 2755 
							
						 
						
							2002-06-03 22:10:52 +00:00  
				
					
						
							
							
								 
						
							
								86ed92af6d 
								
							 
						 
						
							
							
								
								Mark analyses that only depend on the CFG of a function  
							
							... 
							
							
							
							llvm-svn: 2507 
							
						 
						
							2002-05-06 19:32:07 +00:00  
				
					
						
							
							
								 
						
							
								78dd56fe62 
								
							 
						 
						
							
							
								
								Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes  
							
							... 
							
							
							
							to the global namespace
llvm-svn: 2370 
							
						 
						
							2002-04-28 16:21:30 +00:00  
				
					
						
							
							
								 
						
							
								99b6f5cac4 
								
							 
						 
						
							
							
								
								Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not  
							
							... 
							
							
							
							const BasicBlocks
llvm-svn: 2337 
							
						 
						
							2002-04-28 00:15:57 +00:00  
				
					
						
							
							
								 
						
							
								c8e665431b 
								
							 
						 
						
							
							
								
								* Rename MethodPass class to FunctionPass  
							
							... 
							
							
							
							- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well
llvm-svn: 2333 
							
						 
						
							2002-04-27 06:56:12 +00:00  
				
					
						
							
							
								 
						
							
								8c7e050576 
								
							 
						 
						
							
							
								
								Don't leak all of the Loop objects created...  
							
							... 
							
							
							
							llvm-svn: 2196 
							
						 
						
							2002-04-09 05:43:19 +00:00  
				
					
						
							
							
								 
						
							
								f739fa8541 
								
							 
						 
						
							
							
								
								s/Method/Function  
							
							... 
							
							
							
							llvm-svn: 2180 
							
						 
						
							2002-04-08 22:03:57 +00:00  
				
					
						
							
							
								 
						
							
								83d485b310 
								
							 
						 
						
							
							
								
								* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into  
							
							... 
							
							
							
							llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
  InstrTypes.h anymore
llvm-svn: 1750 
							
						 
						
							2002-02-12 22:39:50 +00:00  
				
					
						
							
							
								 
						
							
								60a6591d83 
								
							 
						 
						
							
							
								
								Method.h no longer includes BasicBlock.h  
							
							... 
							
							
							
							Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746 
							
						 
						
							2002-02-12 21:07:25 +00:00  
				
					
						
							
							
								 
						
							
								ccf571a408 
								
							 
						 
						
							
							
								
								Convert analyses to new pass structure  
							
							... 
							
							
							
							llvm-svn: 1603 
							
						 
						
							2002-01-31 00:42:27 +00:00  
				
					
						
							
							
								 
						
							
								7f74a56e24 
								
							 
						 
						
							
							
								
								Changes to build successfully with GCC 3.02  
							
							... 
							
							
							
							llvm-svn: 1503 
							
						 
						
							2002-01-20 22:54:45 +00:00  
				
					
						
							
							
								 
						
							
								5de2204fe8 
								
							 
						 
						
							
							
								
								Create a new #include "Support/..." directory structure to move things  
							
							... 
							
							
							
							from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400 
							
						 
						
							2001-11-27 00:03:19 +00:00  
				
					
						
							
							
								 
						
							
								6de9942b92 
								
							 
						 
						
							
							
								
								* Implement dominator based loop identification  
							
							... 
							
							
							
							* Implement cleaner induction variable identification
llvm-svn: 1359 
							
						 
						
							2001-11-26 18:41:20 +00:00