Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ca266fe1f 
					 
					
						
						
							
							Expose new "recalculate" method from dominatorset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-08 19:12:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4e4caeffbd 
					 
					
						
						
							
							Fix a nasty problem with dominance calculation for unreachable blocks.  
						
						... 
						
						
						
						If we had a CFG that look like Entry -> B, Unreachable -> B, then we would
not correctly determine that Entry dominated B, because Entry did not
apparently dominate "unreachable".  This patch fixes this by making the entry
node dominate all blocks, including unreachable ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4037  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-04 14:45:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4d7a75a9e3 
					 
					
						
						
							
							Improve printing of dominator sets  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-29 21:42:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d74472ed21 
					 
					
						
						
							
							- Add methods to ImmediateDominators & DominatorTree to allow updates  
						
						... 
						
						
						
						- Make DominatorTree::Node not inherit from std::vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3939  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-09-26 16:14:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						80b7f8ceb4 
					 
					
						
						
							
							Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3474  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-22 20:39:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						607ace696b 
					 
					
						
						
							
							- Do not expose ::ID from any of the analyses anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3415  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-21 17:09:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9ce231f3ae 
					 
					
						
						
							
							Implement dominator checking in the verifier, so that we check that all  
						
						... 
						
						
						
						defintiions dominate their uses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3214  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-02 17:37:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a915ef0fc0 
					 
					
						
						
							
							Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-02 16:51:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4c9df7c619 
					 
					
						
						
							
							Split dominance calculation and post dominance calculation stuff  
						
						... 
						
						
						
						Dominance calculation goes to VMCore library to be used by Verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3210  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-02 16:43:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1b0a63fa64 
					 
					
						
						
							
							*** empty log message ***  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-31 19:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						17689dfe24 
					 
					
						
						
							
							Declare that these passes only depend on the CFG of the function  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-30 16:27:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eb702350f7 
					 
					
						
						
							
							* Eliminate the Provided set.  All Passes now finally just automatically  
						
						... 
						
						
						
						provide themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-29 21:03:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a59cbb2043 
					 
					
						
						
							
							* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-27 01:12:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1e43516dcf 
					 
					
						
						
							
							* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-26 21:12:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ce6ef112c4 
					 
					
						
						
							
							*** empty log message ***  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3105  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-07-26 18:40:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7e70829632 
					 
					
						
						
							
							MEGAPATCH checkin.  
						
						... 
						
						
						
						For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-06-25 16:13:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ef704a23b4 
					 
					
						
						
							
							Add method to check to see if two _Instructions_ dominate each other  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-13 22:03:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fc514f40a6 
					 
					
						
						
							
							Move UnifyFunctionExitNodes to Utils library: final resting place this time  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2531  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-07 19:18:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c8cc4cb03b 
					 
					
						
						
							
							Updates to move some header files out of include/llvm/Transforms into  
						
						... 
						
						
						
						the Scalar and Utils subdirectories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-07 18:36:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						07a228d1f7 
					 
					
						
						
							
							Mark analyses that only depend on the CFG of a function  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-05-06 19:32:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c6f3ae5c66 
					 
					
						
						
							
							Eliminate duplicate or unneccesary #include's  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-29 17:42:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1b7f7dc4b4 
					 
					
						
						
							
							Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes  
						
						... 
						
						
						
						to the global namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2370  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-28 16:21:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a298d27808 
					 
					
						
						
							
							Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not  
						
						... 
						
						
						
						const BasicBlocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-28 00:15:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						483e14ee04 
					 
					
						
						
							
							s/Method/Function  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-27 07:27:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f57b845547 
					 
					
						
						
							
							* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-27 06:56:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fbfdcffd3 
					 
					
						
						
							
							Change references to the Method class to be references to the Function  
						
						... 
						
						
						
						class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-04-07 20:49:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						455889aa79 
					 
					
						
						
							
							* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1750  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-02-12 22:39:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						221d688a5e 
					 
					
						
						
							
							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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-02-12 21:07:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eb5230c4f9 
					 
					
						
						
							
							Remove generic routines to Support/SetOperations.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-02-05 03:35:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						65b9709071 
					 
					
						
						
							
							Provide the right AnalysisID for postdominators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-01-31 18:29:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						93193f8063 
					 
					
						
						
							
							Convert analyses to new pass structure  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1603  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-01-31 00:42:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						697954c15d 
					 
					
						
						
							
							Changes to build successfully with GCC 3.02  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-01-20 22:54:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cee8f9ae67 
					 
					
						
						
							
							Create a new #include "Support/..." directory structure to move things  
						
						... 
						
						
						
						from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-11-27 00:03:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ff5a8c43c9 
					 
					
						
						
							
							Fix a bad assertion to be correct . The root basic block can be used by PHI nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1370  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-11-26 18:52:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f0604b84c7 
					 
					
						
						
							
							Pull predecessor and successor iterators out of the CFG*.h files, and plop them into  
						
						... 
						
						
						
						the BasicBlock class where they should be.  pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-10-01 13:19:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3ff4387113 
					 
					
						
						
							
							Pull iterators out of CFG.h and CFGdecls and put them in Support directory  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-09-28 22:56:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1b5499bbb8 
					 
					
						
						
							
							Make sure noone branches to the entry node of the method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-08-24 14:56:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						384e5b1595 
					 
					
						
						
							
							Handle case where there is no exit node from a flowgraph  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-08-23 17:07:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						57dbb3ad63 
					 
					
						
						
							
							Moved inline/llvm/Tools/* to include/llvm/Support/*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-07-23 17:46:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3590830cef 
					 
					
						
						
							
							Fixed post dominator frontiers!  Yaay!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-07-08 05:54:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						94108ab8a3 
					 
					
						
						
							
							Implement support for postdominators, except in dom frontiers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-07-06 16:58:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1715229db9 
					 
					
						
						
							
							Checkin of new dominator calculation routines.  These will be improved in  
						
						... 
						
						
						
						the future to do post dominators and stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2001-07-02 05:46:38 +00:00