7eb05a170a 
								
							 
						 
						
							
							
								
								Spell `necessary' correctly.  
							
							... 
							
							
							
							llvm-svn: 7944 
							
						 
						
							2003-08-18 14:43:39 +00:00  
				
					
						
							
							
								 
						
							
								2cc4b9dd2c 
								
							 
						 
						
							
							
								
								Add new method to FunctionPassManager to add ImmutablePasses.  
							
							... 
							
							
							
							llvm-svn: 7838 
							
						 
						
							2003-08-14 06:07:57 +00:00  
				
					
						
							
							
								 
						
							
								e7e094467d 
								
							 
						 
						
							
							
								
								Dramatically simplify how -time-passes works.  
							
							... 
							
							
							
							This also enables -time-passes for FunctionPassManagers, which allows it to
be used for the JIT
llvm-svn: 7834 
							
						 
						
							2003-08-14 05:20:28 +00:00  
				
					
						
							
							
								 
						
							
								b7a8388b8c 
								
							 
						 
						
							
							
								
								Add FunctionPassManager - it's like a PassManager, but it only deals in  
							
							... 
							
							
							
							FunctionPasses.
llvm-svn: 7778 
							
						 
						
							2003-08-12 17:22:39 +00:00  
				
					
						
							
							
								 
						
							
								3ef61afb76 
								
							 
						 
						
							
							
								
								Merged in autoconf branch.  This provides configuration via the autoconf  
							
							... 
							
							
							
							system.
llvm-svn: 7014 
							
						 
						
							2003-06-30 21:59:07 +00:00  
				
					
						
							
							
								 
						
							
								0cfcaf0cc3 
								
							 
						 
						
							
							
								
								Remove usage of sys/unistd.h  
							
							... 
							
							
							
							llvm-svn: 6788 
							
						 
						
							2003-06-19 18:42:09 +00:00  
				
					
						
							
							
								 
						
							
								9ad7757e7c 
								
							 
						 
						
							
							
								
								Add helper method  
							
							... 
							
							
							
							llvm-svn: 5753 
							
						 
						
							2003-03-21 21:41:02 +00:00  
				
					
						
							
							
								 
						
							
								820d971233 
								
							 
						 
						
							
							
								
								- Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to  
							
							... 
							
							
							
							setPreservesCFG to be less confusing.
llvm-svn: 4255 
							
						 
						
							2002-10-21 20:00:28 +00:00  
				
					
						
							
							
								 
						
							
								af751b8e72 
								
							 
						 
						
							
							
								
								Factor timer code out of PassManager implementation, into a generic interface  
							
							... 
							
							
							
							exposed by Support/Timer.h.
llvm-svn: 3993 
							
						 
						
							2002-10-01 19:54:07 +00:00  
				
					
						
							
							
								 
						
							
								ee0788d42d 
								
							 
						 
						
							
							
								
								Add support for ImmutablePasses, which are not run, and cannot be  
							
							... 
							
							
							
							invalidated.
llvm-svn: 3921 
							
						 
						
							2002-09-25 21:59:11 +00:00  
				
					
						
							
							
								 
						
							
								548002f3d5 
								
							 
						 
						
							
							
								
								Another portability fix provided via Casey Carter:  
							
							... 
							
							
							
							ISSUE: getTimeRecord in lib/VMCore/Pass.cpp uses timeval and
gettimeofday() without including sys/time.h.
ACTION: Include sys/time.h.
llvm-svn: 3699 
							
						 
						
							2002-09-13 14:47:12 +00:00  
				
					
						
							
							
								 
						
							
								bae3c67050 
								
							 
						 
						
							
							
								
								Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair of  
							
							... 
							
							
							
							methods that may be useful for BasicBlockPasses.
llvm-svn: 3688 
							
						 
						
							2002-09-12 17:06:40 +00:00  
				
					
						
							
							
								 
						
							
								b3708e267e 
								
							 
						 
						
							
							
								
								- PassManager prints analysis sets nicer  
							
							... 
							
							
							
							- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber
llvm-svn: 3534 
							
						 
						
							2002-08-30 20:23:45 +00:00  
				
					
						
							
							
								 
						
							
								675e7a9e3d 
								
							 
						 
						
							
							
								
								- Fighting with linking problem due to removing the ::ID elements.  Now the  
							
							... 
							
							
							
							implementation .cpp files for analyses are not being included into gccas
    and friends because it is linking to the .a file and there is no explicit
    symbol reference to bring in the .o file.  The new IncludeFile hack is the
    result.
llvm-svn: 3436 
							
						 
						
							2002-08-21 23:51:51 +00:00  
				
					
						
							
							
								 
						
							
								10d7b85d5e 
								
							 
						 
						
							
							
								
								Remove debugging code accidentally checked in.  
							
							... 
							
							
							
							llvm-svn: 3430 
							
						 
						
							2002-08-21 22:49:31 +00:00  
				
					
						
							
							
								 
						
							
								6e041bdb12 
								
							 
						 
						
							
							
								
								- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis  
							
							... 
							
							
							
							llvm-svn: 3426 
							
						 
						
							2002-08-21 22:17:09 +00:00  
				
					
						
							
							
								 
						
							
								4b16963ca2 
								
							 
						 
						
							
							
								
								- Eliminate the need for analyses to expose an ::ID member.  
							
							... 
							
							
							
							llvm-svn: 3414 
							
						 
						
							2002-08-21 17:08:37 +00:00  
				
					
						
							
							
								 
						
							
								e821d78432 
								
							 
						 
						
							
							
								
								Sort -time-passes report first by user+system, then by Wall clock time.  
							
							... 
							
							
							
							llvm-svn: 3407 
							
						 
						
							2002-08-20 18:47:53 +00:00  
				
					
						
							
							
								 
						
							
								ca5afe74ab 
								
							 
						 
						
							
							
								
								Add missing space  
							
							... 
							
							
							
							llvm-svn: 3387 
							
						 
						
							2002-08-19 20:42:12 +00:00  
				
					
						
							
							
								 
						
							
								5ec216b5fe 
								
							 
						 
						
							
							
								
								Fix the -time-passes option to not print NaN when there is zero execution time  
							
							... 
							
							
							
							llvm-svn: 3382 
							
						 
						
							2002-08-19 15:43:33 +00:00  
				
					
						
							
							
								 
						
							
								6a33d6f0bb 
								
							 
						 
						
							
							
								
								Enhance -time-passes to be more detailed and useful  
							
							... 
							
							
							
							llvm-svn: 3199 
							
						 
						
							2002-08-01 19:33:09 +00:00  
				
					
						
							
							
								 
						
							
								395c27ae39 
								
							 
						 
						
							
							
								
								We need iostream in PassManagerT.h to use cerr  
							
							... 
							
							
							
							llvm-svn: 3183 
							
						 
						
							2002-07-31 18:04:17 +00:00  
				
					
						
							
							
								 
						
							
								1e4867fed2 
								
							 
						 
						
							
							
								
								Implement new -debug-pass=Arguments option that causes PassManager to  
							
							... 
							
							
							
							print out the command line options for the optimizations it is running.
llvm-svn: 3165 
							
						 
						
							2002-07-30 19:51:02 +00:00  
				
					
						
							
							
								 
						
							
								198cf42178 
								
							 
						 
						
							
							
								
								* Move some code from Pass.cpp to PassManagerT.h  
							
							... 
							
							
							
							* Implement stuff so that code can declare that they only depend on the CFG of
  a function, not on anything else.  This speeds up GCCAS a lot.
llvm-svn: 3155 
							
						 
						
							2002-07-30 16:27:02 +00:00  
				
					
						
							
							
								 
						
							
								071577d66d 
								
							 
						 
						
							
							
								
								* PassInfo is allowed to be missing now (ie, not all passes need be registered)  
							
							... 
							
							
							
							* getPassName uses PassInfo if it's available
* PassInfo is now cached in the pass so that it is only looked up once, maximum
llvm-svn: 3123 
							
						 
						
							2002-07-29 21:02:31 +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  
				
					
						
							
							
								 
						
							
								a82ee2df46 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 3065 
							
						 
						
							2002-07-24 22:08:53 +00:00  
				
					
						
							
							
								 
						
							
								37d3c95b0f 
								
							 
						 
						
							
							
								
								Add support for pass registration  
							
							... 
							
							
							
							llvm-svn: 3018 
							
						 
						
							2002-07-23 18:08:00 +00:00  
				
					
						
							
							
								 
						
							
								f5cad15a67 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 2985 
							
						 
						
							2002-07-22 02:10:13 +00:00  
				
					
						
							
							
								 
						
							
								8c37789a33 
								
							 
						 
						
							
							
								
								changes for 64bit gcc  
							
							... 
							
							
							
							llvm-svn: 2801 
							
						 
						
							2002-06-25 22:07:38 +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  
				
					
						
							
							
								 
						
							
								7e0dbe62e8 
								
							 
						 
						
							
							
								
								Make functions that preserve the CFG not invalidate analyses that only depend  
							
							... 
							
							
							
							on the CFG of a function
llvm-svn: 2506 
							
						 
						
							2002-05-06 19:31:52 +00:00  
				
					
						
							
							
								 
						
							
								37104aace8 
								
							 
						 
						
							
							
								
								Add new optional getPassName() virtual function that a Pass can override  
							
							... 
							
							
							
							to make debugging output a lot nicer.
llvm-svn: 2395 
							
						 
						
							2002-04-29 14:57:45 +00:00  
				
					
						
							
							
								 
						
							
								e2eb99eb62 
								
							 
						 
						
							
							
								
								Add a new command line option for PassManager using utilities.  
							
							... 
							
							
							
							Now for llc, gccas, analyze, opt, etc you can specify the -time-passes
command line option that outputs a timing summary report that indicates
how long each pass takes to execute.
llvm-svn: 2394 
							
						 
						
							2002-04-29 04:04:29 +00:00  
				
					
						
							
							
								 
						
							
								ee2ff5da74 
								
							 
						 
						
							
							
								
								Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()  
							
							... 
							
							
							
							llvm-svn: 2384 
							
						 
						
							2002-04-28 21:25:41 +00:00  
				
					
						
							
							
								 
						
							
								37c8667190 
								
							 
						 
						
							
							
								
								* Add a stub to FunctionPass so that subclasses can declare that they do not  
							
							... 
							
							
							
							modify the CFG.  It currently does nothing, but will in the future.
* Changes to make the public PassManager.h be MUCH smaller, and devoid of
  implementation details.  Now PassManager is just a Pimpl class that wraps
  PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that
  has to #include PassManagerT.h
llvm-svn: 2383 
							
						 
						
							2002-04-28 20:46:05 +00:00  
				
					
						
							
							
								 
						
							
								a454b5b7c5 
								
							 
						 
						
							
							
								
								Minor changes to allow Modules (which are no longer Values) to work  
							
							... 
							
							
							
							llvm-svn: 2361 
							
						 
						
							2002-04-28 05:14:06 +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  
				
					
						
							
							
								 
						
							
								1be6266721 
								
							 
						 
						
							
							
								
								Make the release build compile  
							
							... 
							
							
							
							llvm-svn: 2107 
							
						 
						
							2002-04-04 19:24:48 +00:00  
				
					
						
							
							
								 
						
							
								57698e2c0b 
								
							 
						 
						
							
							
								
								Change references from Method to Function  
							
							... 
							
							
							
							change references from MethodARgument to FunctionArgument
llvm-svn: 1991 
							
						 
						
							2002-03-26 18:01:55 +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  
				
					
						
							
							
								 
						
							
								ac3e060c59 
								
							 
						 
						
							
							
								
								* Make debugging output nicer  
							
							... 
							
							
							
							* Implement pass memory freeing after the pass is unused
* Expose PassManager typedef in Pass.h instead of PassManager.h
llvm-svn: 1617 
							
						 
						
							2002-01-31 18:32:27 +00:00  
				
					
						
							
							
								 
						
							
								cdd09c2c17 
								
							 
						 
						
							
							
								
								Implement new pass framework  
							
							... 
							
							
							
							llvm-svn: 1606 
							
						 
						
							2002-01-31 00:45:31 +00:00  
				
					
						
							
							
								 
						
							
								d013ba96a9 
								
							 
						 
						
							
							
								
								* Expose new command line arg --debug-pass for gccas and llc debugging  
							
							... 
							
							
							
							* Remember to initialize MethodPassBatcher::BBPBatcher instance var in ctor
* Move PassManager::run() from header file
llvm-svn: 1556 
							
						 
						
							2002-01-23 05:49:41 +00:00  
				
					
						
							
							
								 
						
							
								9c56a28309 
								
							 
						 
						
							
							
								
								Oops, misnamed function, didn't override correctly, drat.  
							
							... 
							
							
							
							llvm-svn: 1528 
							
						 
						
							2002-01-22 03:30:25 +00:00  
				
					
						
							
							
								 
						
							
								654b5bc77a 
								
							 
						 
						
							
							
								
								Ooops, forgot to implement void PassManager::add(BasicBlockPass *BBP)  
							
							... 
							
							
							
							llvm-svn: 1523 
							
						 
						
							2002-01-22 00:17:48 +00:00  
				
					
						
							
							
								 
						
							
								26e4f89419 
								
							 
						 
						
							
							
								
								Implementation of the new spiffy pass system  
							
							... 
							
							
							
							llvm-svn: 1508 
							
						 
						
							2002-01-21 07:37:31 +00:00