7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							... 
							
							
							
							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 
							
						 
						
							2004-09-01 22:55:40 +00:00  
				
					
						
							
							
								 
						
							
								eb04d9bcb4 
								
							 
						 
						
							
							
								
								Add #include <iostream> since Value.h does not #include it any more.  
							
							... 
							
							
							
							llvm-svn: 14622 
							
						 
						
							2004-07-04 12:19:56 +00:00  
				
					
						
							
							
								 
						
							
								4c7a24af44 
								
							 
						 
						
							
							
								
								Don't grab the condition of unconditional branches!  
							
							... 
							
							
							
							This fixes PR363
llvm-svn: 14076 
							
						 
						
							2004-06-08 21:50:30 +00:00  
				
					
						
							
							
								 
						
							
								32447c55fe 
								
							 
						 
						
							
							
								
								Remove code to update loop depths  
							
							... 
							
							
							
							llvm-svn: 13058 
							
						 
						
							2004-04-19 03:02:09 +00:00  
				
					
						
							
							
								 
						
							
								26ba2f5fe8 
								
							 
						 
						
							
							
								
								Add new method  
							
							... 
							
							
							
							llvm-svn: 13050 
							
						 
						
							2004-04-18 22:45:27 +00:00  
				
					
						
							
							
								 
						
							
								d6ce359d3b 
								
							 
						 
						
							
							
								
								Fix computation of exit blocks  
							
							... 
							
							
							
							llvm-svn: 13047 
							
						 
						
							2004-04-18 22:21:41 +00:00  
				
					
						
							
							
								 
						
							
								d72c3eb54e 
								
							 
						 
						
							
							
								
								Change the ExitBlocks list from being explicitly contained in the Loop  
							
							... 
							
							
							
							structure to being dynamically computed on demand.  This makes updating
loop information MUCH easier.
llvm-svn: 13045 
							
						 
						
							2004-04-18 22:14:10 +00:00  
				
					
						
							
							
								 
						
							
								e375a4fdc2 
								
							 
						 
						
							
							
								
								Implement method  
							
							... 
							
							
							
							llvm-svn: 13036 
							
						 
						
							2004-04-18 06:54:48 +00:00  
				
					
						
							
							
								 
						
							
								1472c63fb9 
								
							 
						 
						
							
							
								
								Add a new method, add a check missing that caused a segfault if a loop didn't  
							
							... 
							
							
							
							have a canonical indvar
llvm-svn: 13032 
							
						 
						
							2004-04-18 05:38:05 +00:00  
				
					
						
							
							
								 
						
							
								d9dc425376 
								
							 
						 
						
							
							
								
								add some helpful methods.  Rearrange #includes to proper order  
							
							... 
							
							
							
							llvm-svn: 12960 
							
						 
						
							2004-04-15 15:16:02 +00:00  
				
					
						
							
							
								 
						
							
								55b7ef5a81 
								
							 
						 
						
							
							
								
								Add some methods that are useful for updating loop information.  
							
							... 
							
							
							
							llvm-svn: 12871 
							
						 
						
							2004-04-12 20:26:17 +00:00  
				
					
						
							
							
								 
						
							
								81804b4cb1 
								
							 
						 
						
							
							
								
								Order #includes alphabetically, per style guide.  
							
							... 
							
							
							
							llvm-svn: 11015 
							
						 
						
							2004-01-30 17:26:24 +00:00  
				
					
						
							
							
								 
						
							
								59d2d7fc33 
								
							 
						 
						
							
							
								
								Improve encapsulation in the Loop and LoopInfo classes by eliminating the  
							
							... 
							
							
							
							getSubLoops/getTopLevelLoops methods, replacing them with iterator-based
accessors.
llvm-svn: 10714 
							
						 
						
							2004-01-08 00:09:44 +00:00  
				
					
						
							
							
								 
						
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								ac4238f7bc 
								
							 
						 
						
							
							
								
								Do not add unreachable code to a natural loop!  
							
							... 
							
							
							
							llvm-svn: 9377 
							
						 
						
							2003-10-22 16:41:21 +00:00  
				
					
						
							
							
								 
						
							
								482202a601 
								
							 
						 
						
							
							
								
								Added LLVM project notice to the top of every C++ source file.  
							
							... 
							
							
							
							Header files will be on the way.
llvm-svn: 9298 
							
						 
						
							2003-10-20 19:43:21 +00:00  
				
					
						
							
							
								 
						
							
								44d2c3514a 
								
							 
						 
						
							
							
								
								Regularize header file comments  
							
							... 
							
							
							
							llvm-svn: 9071 
							
						 
						
							2003-10-13 03:32:08 +00:00  
				
					
						
							
							
								 
						
							
								e43629bad6 
								
							 
						 
						
							
							
								
								Make getNumBackEdges more efficient  
							
							... 
							
							
							
							llvm-svn: 9063 
							
						 
						
							2003-10-12 22:14:27 +00:00  
				
					
						
							
							
								 
						
							
								fd46711e1a 
								
							 
						 
						
							
							
								
								Remove explicit use of BasicBlock::succ_iterator  
							
							... 
							
							
							
							llvm-svn: 8706 
							
						 
						
							2003-09-24 22:18:35 +00:00  
				
					
						
							
							
								 
						
							
								c01f05f4be 
								
							 
						 
						
							
							
								
								Fix the bug that broke the nightly tester in McCat/18-imp last night.  :(  
							
							... 
							
							
							
							llvm-svn: 7925 
							
						 
						
							2003-08-17 21:47:33 +00:00  
				
					
						
							
							
								 
						
							
								7a991010d6 
								
							 
						 
						
							
							
								
								Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll  
							
							... 
							
							
							
							llvm-svn: 7915 
							
						 
						
							2003-08-16 20:57:16 +00:00  
				
					
						
							
							
								 
						
							
								0e416df2b2 
								
							 
						 
						
							
							
								
								Fix bug: Analysis/LoopInfo/2003-05-15-NestingProblem.ll  
							
							... 
							
							
							
							llvm-svn: 6230 
							
						 
						
							2003-05-15 18:03:51 +00:00  
				
					
						
							
							
								 
						
							
								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