Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2f77922d30 
								
							 
						 
						
							
							
								
								Add explicit doInitialization/doFinalization methods instead of making  
							
							 
							
							... 
							
							
							
							the FunctionPassManager redo this for each function.
llvm-svn: 30079 
							
						 
						
							2006-09-04 04:07:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fbb46500cf 
								
							 
						 
						
							
							
								
								We no longer care whether something is an opt vs analysis pass, only whether  
							
							 
							
							... 
							
							
							
							something is a pass vs an analysis group now.  Simplify interfaces.
llvm-svn: 29920 
							
						 
						
							2006-08-27 22:21:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3d40daa474 
								
							 
						 
						
							
							
								
								Change the ModuleProvider interface to not throw exceptions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29024 
							
						 
						
							2006-07-06 21:35:01 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								54cb2d8533 
								
							 
						 
						
							
							
								
								For PR780:  
							
							 
							
							... 
							
							
							
							Break the "IncludeFile" mechanism into its own header file and adjust other
files accordingly. Use this facility for the IntrinsicInst problem which
was the subject of PR800.
More to follow on this.
llvm-svn: 28709 
							
						 
						
							2006-06-07 20:00:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c66da83a89 
								
							 
						 
						
							
							
								
								Speedup and simplify pass registration by the observation that there is  
							
							 
							
							... 
							
							
							
							exactly one PassInfo object per RegisterPass object and that their lifetimes
are the same.  As such, there is no reason for the RegisterPass object to
dynamically allocate the PassInfo object at compiler startup time: just inline
the object by-value.  This should reduce codesize, heap size, and startup time. Yaay.
llvm-svn: 25521 
							
						 
						
							2006-01-23 01:01:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c47b08154d 
								
							 
						 
						
							
							
								
								Patch #6's in Saem's refactor-the-passmanager patch series.  From him:  
							
							 
							
							... 
							
							
							
							This sanitises the world, blows away the specialisations and adds
traits per passmanager type -- seemed most natural.
llvm-svn: 25085 
							
						 
						
							2006-01-04 07:47:13 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								8edc8beacf 
								
							 
						 
						
							
							
								
								Older compilers won't like the inline virtual destructor in the header file  
							
							 
							
							... 
							
							
							
							so we put the destructor in Pass.cpp and make it non-inline.
llvm-svn: 21520 
							
						 
						
							2005-04-25 01:01:35 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								b1c9317bb4 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 21427 
							
						 
						
							2005-04-21 23:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								9083936835 
								
							 
						 
						
							
							
								
								For PR387:\  
							
							 
							
							... 
							
							
							
							Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual
llvm-svn: 18589 
							
						 
						
							2004-12-07 04:03:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								79e523de04 
								
							 
						 
						
							
							
								
								'Pass' should now not be derived from by clients.  Instead, they should derive  
							
							 
							
							... 
							
							
							
							from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
Also, fix some undefined behavior, expecting | on booleans to evaluate
left-to-right.
llvm-svn: 16435 
							
						 
						
							2004-09-20 04:47:19 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								2e4bfff37c 
								
							 
						 
						
							
							
								
								Give the -time-passes tool option a global storage location so that its  
							
							 
							
							... 
							
							
							
							value can be discovered by the various LLVM tools.
llvm-svn: 16032 
							
						 
						
							2004-08-24 17:52:35 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								4233155533 
								
							 
						 
						
							
							
								
								There is no error message to print out, end sentence with `!'  
							
							 
							
							... 
							
							
							
							llvm-svn: 14678 
							
						 
						
							2004-07-07 21:22:05 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								6967cd54f3 
								
							 
						 
						
							
							
								
								Fix for bug 391.  
							
							 
							
							... 
							
							
							
							Improve exeception handling around bcreader invocations.
llvm-svn: 14674 
							
						 
						
							2004-07-07 21:01:38 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								8baf8e270a 
								
							 
						 
						
							
							
								
								- #include <iostream> since its not in Value.h any more.  
							
							 
							
							... 
							
							
							
							llvm-svn: 14617 
							
						 
						
							2004-07-04 11:55:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								43640d7138 
								
							 
						 
						
							
							
								
								Fix -debug-pass=Executions, which relied on Function, Module, and BasicBlock  
							
							 
							
							... 
							
							
							
							being annotable
llvm-svn: 12013 
							
						 
						
							2004-02-29 22:37:04 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								465a5cc291 
								
							 
						 
						
							
							
								
								Fix typo in comment  
							
							 
							
							... 
							
							
							
							llvm-svn: 11966 
							
						 
						
							2004-02-28 21:55:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2eaf58775e 
								
							 
						 
						
							
							
								
								Two problems with these lines of code:  
							
							 
							
							... 
							
							
							
							1. The "work" was not in the assert, so it was punishing the optimized release
 2. getNamedFunction is _very_ expensive in large programs.  It is not designed
    to be used like this, and was taking 7% of the execution time of the code
    generator on perlbmk.
Since the assert "can never fail", I'm just killing it.
llvm-svn: 11214 
							
						 
						
							2004-02-09 00:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								189d19fb04 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							llvm-svn: 10131 
							
						 
						
							2003-11-21 20:23:48 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								56a8642a42 
								
							 
						 
						
							
							
								
								Enabling incremental bytecode loading in the JIT:  
							
							 
							
							... 
							
							
							
							* FunctionPassManager ctor now takes in a ModuleProvider
* run() materializes function before running passes on it
llvm-svn: 9126 
							
						 
						
							2003-10-14 21:38:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ab16a659d7 
								
							 
						 
						
							
							
								
								* Remove extraneous #includes  
							
							 
							
							... 
							
							
							
							* Fix a nasty initializer ordering bug.  Any only-CFG passes which registered
  themselves before the CFGOnlyAnalysis vector initialized got forgotten and
  thus got invalidated and recomputed.
In particular, in my compiled version of gccas, the Loop information pass was
being recomputed unnecessarily.
llvm-svn: 9074 
							
						 
						
							2003-10-13 05:33:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd99f5bf8f 
								
							 
						 
						
							
							
								
								Rename method  
							
							 
							
							... 
							
							
							
							llvm-svn: 9055 
							
						 
						
							2003-10-12 18:52:12 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								cc31fddf13 
								
							 
						 
						
							
							
								
								Don't include Config/stdio.h or <stdio.h>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9031 
							
						 
						
							2003-10-10 18:46:29 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7eb05a170a 
								
							 
						 
						
							
							
								
								Spell `necessary' correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7944 
							
						 
						
							2003-08-18 14:43:39 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								2cc4b9dd2c 
								
							 
						 
						
							
							
								
								Add new method to FunctionPassManager to add ImmutablePasses.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7838 
							
						 
						
							2003-08-14 06:07:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								3ef61afb76 
								
							 
						 
						
							
							
								
								Merged in autoconf branch.  This provides configuration via the autoconf  
							
							 
							
							... 
							
							
							
							system.
llvm-svn: 7014 
							
						 
						
							2003-06-30 21:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0cfcaf0cc3 
								
							 
						 
						
							
							
								
								Remove usage of sys/unistd.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 6788 
							
						 
						
							2003-06-19 18:42:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9ad7757e7c 
								
							 
						 
						
							
							
								
								Add helper method  
							
							 
							
							... 
							
							
							
							llvm-svn: 5753 
							
						 
						
							2003-03-21 21:41:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								820d971233 
								
							 
						 
						
							
							
								
								- Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to  
							
							 
							
							... 
							
							
							
							setPreservesCFG to be less confusing.
llvm-svn: 4255 
							
						 
						
							2002-10-21 20:00:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ee0788d42d 
								
							 
						 
						
							
							
								
								Add support for ImmutablePasses, which are not run, and cannot be  
							
							 
							
							... 
							
							
							
							invalidated.
llvm-svn: 3921 
							
						 
						
							2002-09-25 21:59:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b3708e267e 
								
							 
						 
						
							
							
								
								- PassManager prints analysis sets nicer  
							
							 
							
							... 
							
							
							
							- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber
llvm-svn: 3534 
							
						 
						
							2002-08-30 20:23:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10d7b85d5e 
								
							 
						 
						
							
							
								
								Remove debugging code accidentally checked in.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3430 
							
						 
						
							2002-08-21 22:49:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6e041bdb12 
								
							 
						 
						
							
							
								
								- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis  
							
							 
							
							... 
							
							
							
							llvm-svn: 3426 
							
						 
						
							2002-08-21 22:17:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b16963ca2 
								
							 
						 
						
							
							
								
								- Eliminate the need for analyses to expose an ::ID member.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3414 
							
						 
						
							2002-08-21 17:08:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca5afe74ab 
								
							 
						 
						
							
							
								
								Add missing space  
							
							 
							
							... 
							
							
							
							llvm-svn: 3387 
							
						 
						
							2002-08-19 20:42:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6a33d6f0bb 
								
							 
						 
						
							
							
								
								Enhance -time-passes to be more detailed and useful  
							
							 
							
							... 
							
							
							
							llvm-svn: 3199 
							
						 
						
							2002-08-01 19:33:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								395c27ae39 
								
							 
						 
						
							
							
								
								We need iostream in PassManagerT.h to use cerr  
							
							 
							
							... 
							
							
							
							llvm-svn: 3183 
							
						 
						
							2002-07-31 18:04:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								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