Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								896556eec7 
								
							 
						 
						
							
							
								
								Set wasRun to false here on Dan's suggestion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74455 
							
						 
						
							2009-06-29 21:05:10 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								24c7835d19 
								
							 
						 
						
							
							
								
								Call doInitialization(), releaseMemory(), and doFinalization() for on-the-fly passes as well.  
							
							 
							
							... 
							
							
							
							Also don't call finalizers for LoopPass if initialization was not called.
Add a unittest that tests that these methods are called, in the proper
order, and the correct number of times.
llvm-svn: 74438 
							
						 
						
							2009-06-29 18:49:09 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								5a6960fcc3 
								
							 
						 
						
							
							
								
								Add a SmartScopedLock, and use it to simplify code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 73722 
							
						 
						
							2009-06-18 20:51:00 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								7d42b95b6c 
								
							 
						 
						
							
							
								
								Move Threading.[h|cpp] from Support to System.  
							
							 
							
							... 
							
							
							
							llvm-svn: 73707 
							
						 
						
							2009-06-18 16:54:52 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								0dd39fdf96 
								
							 
						 
						
							
							
								
								Guard mutation of the timing info global.  
							
							 
							
							... 
							
							
							
							llvm-svn: 73639 
							
						 
						
							2009-06-17 21:28:54 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								e5e9f09c6d 
								
							 
						 
						
							
							
								
								Always verify dominfo if expensive checking is enabled.  
							
							 
							
							... 
							
							
							
							llvm-svn: 72253 
							
						 
						
							2009-05-22 08:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ec9c58f7e5 
								
							 
						 
						
							
							
								
								Clean up pass manager cache after each run.  
							
							 
							
							... 
							
							
							
							llvm-svn: 68254 
							
						 
						
							2009-04-01 22:34:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								79fc0e9250 
								
							 
						 
						
							
							
								
								Use WriteAsOperand instead of manually decorating the name for this  
							
							 
							
							... 
							
							
							
							debug output. This improves the printing of anonymous values.
llvm-svn: 66561 
							
						 
						
							2009-03-10 18:47:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4c1e9541d3 
								
							 
						 
						
							
							
								
								Sprinkle some PrettyStackEntry magic into the passmanager.  With this, we now  
							
							 
							
							... 
							
							
							
							get nice and happy stack traces when we crash in an optimizer or codegen.  For
example, an abort put in UnswitchLoops now looks like this:
Stack dump:
0.	Program arguments: clang pr3399.c -S -O3 
1.	<eof> parser at end of file
2.	per-module optimization passes
3.	Running pass 'CallGraph Pass Manager' on module 'pr3399.c'.
4.	Running pass 'Loop Pass Manager' on function '@foo'
5.	Running pass 'Unswitch loops' on basic block '%for.inc'
Abort
llvm-svn: 66260 
							
						 
						
							2009-03-06 06:45:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								609873608e 
								
							 
						 
						
							
							
								
								various cosmetic cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 66254 
							
						 
						
							2009-03-06 05:53:14 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								51495609df 
								
							 
						 
						
							
							
								
								Reapply r64301.  These uses of "inline" can cause strange  
							
							 
							
							... 
							
							
							
							link-time failures when building with optimization.  Just
get rid of them.
llvm-svn: 64449 
							
						 
						
							2009-02-13 09:42:34 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								5f14a01340 
								
							 
						 
						
							
							
								
								Revert r64300 and r64301. These were causing the following errors respectively:  
							
							 
							
							... 
							
							
							
							During llvm-gcc bootstrap:
Undefined symbols:
  "llvm::FPPassManager::doFinalization(llvm::Module&)", referenced from:
      (anonymous namespace)::CGPassManager::doFinalization(llvm::CallGraph&, llvm::Module&)
        in libLLVMipa.a(CallGraphSCCPass.o)
  "llvm::FPPassManager::doInitialization(llvm::Module&)", referenced from:
      (anonymous namespace)::CGPassManager::doInitialization(llvm::CallGraph&, llvm::Module&)
        in libLLVMipa.a(CallGraphSCCPass.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/obj-llvm/Release/bin/opt] Error 1
During an LLVM release build:
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-register-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenRegisterInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td instruction names with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-enums -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrNames.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td instruction information with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-instr-desc -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenInstrInfo.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Building X86.td assembly writer with tblgen
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/bin/tblgen -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86 -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target -gen-asm-writer -o  /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Target/X86/Release/X86GenAsmWriter.inc.tmp /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Target/X86/X86.td
llvm[3]: Compiling InstructionCombining.cpp for Release build 
if /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~dst/Developer/usr/bin/llvm-g++-4.2 -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3  -fno-exceptions  -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter  -fstrict-aliasing -Wstrict-aliasing -c -MMD -MP -MF "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.lo" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o" -MT "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d" /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/lib/Transforms/Scalar/InstructionCombining.cpp -o /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.o ; \
           then /bin/mv -f "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Transforms/Scalar/Release/InstructionCombining.d.tmp" "/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/lib/Trans
llvm-svn: 64311 
							
						 
						
							2009-02-11 18:19:24 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								5b3349064d 
								
							 
						 
						
							
							
								
								These uses of "inline" can cause strange link-time  
							
							 
							
							... 
							
							
							
							failures when building with optimization.  Just get
rid of them.
llvm-svn: 64301 
							
						 
						
							2009-02-11 12:25:15 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								5a913d61e3 
								
							 
						 
						
							
							
								
								Rename getAnalysisToUpdate to getAnalysisIfAvailable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 63198 
							
						 
						
							2009-01-28 13:14:17 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								193e4c025e 
								
							 
						 
						
							
							
								
								Fix a use of an invalid iterator when -debug-pass=Details is used.  
							
							 
							
							... 
							
							
							
							llvm-svn: 58816 
							
						 
						
							2008-11-06 21:57:17 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								0460bb27e0 
								
							 
						 
						
							
							
								
								fix memory leak in pass manager when adding an analysis pass that already existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list  
							
							 
							
							... 
							
							
							
							tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager
llvm-svn: 58730 
							
						 
						
							2008-11-04 23:03:58 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								26ff6f9c54 
								
							 
						 
						
							
							
								
								Add <cstdio> include where needed by gcc-4.4.  
							
							 
							
							... 
							
							
							
							Patch by Samuel Tardieu.
llvm-svn: 57291 
							
						 
						
							2008-10-08 07:23:46 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								c3e3ca9a45 
								
							 
						 
						
							
							
								
								Remove interfaces implemented by dead pass from the list of available passes.  
							
							 
							
							... 
							
							
							
							Patch By Matthijs Kooijman.
llvm-svn: 57202 
							
						 
						
							2008-10-06 20:36:36 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								18ff6367f7 
								
							 
						 
						
							
							
								
								Add assertion check.  
							
							 
							
							... 
							
							
							
							llvm-svn: 56016 
							
						 
						
							2008-09-09 21:38:40 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a328690ed3 
								
							 
						 
						
							
							
								
								Simplify.  
							
							 
							
							... 
							
							
							
							Fix outdated comment.
llvm-svn: 55993 
							
						 
						
							2008-09-09 17:56:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								fdee7034b3 
								
							 
						 
						
							
							
								
								The pass manager is not able to schedule -loop-deletion -loop-index-split.  
							
							 
							
							... 
							
							
							
							The loop-deletion pass does not preserve dom frontier, which is required by
loop-index-split. When the PM checks dom frontier for loop-index-split, it has
already verified that lcssa is availalble. However, new dom frontier forces new
loop pass manager, which does not  have lcssa yet.
The PM should recheck availability of required analysis passes in such cases.
llvm-svn: 54805 
							
						 
						
							2008-08-14 23:07:48 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								0d29ae085b 
								
							 
						 
						
							
							
								
								Use SmallVector instead of std::vector  
							
							 
							
							... 
							
							
							
							llvm-svn: 54685 
							
						 
						
							2008-08-12 15:44:31 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								c68a0b6244 
								
							 
						 
						
							
							
								
								Use DenseMap to keep track of last users.  
							
							 
							
							... 
							
							
							
							Use inversed map for faster queries.
llvm-svn: 54662 
							
						 
						
							2008-08-12 00:26:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ec9e1a60ad 
								
							 
						 
						
							
							
								
								Keep track of analysis usage information for passes. Avoid invoking  
							
							 
							
							... 
							
							
							
							getAnalysisUsage() repeatedly.
llvm-svn: 54650 
							
						 
						
							2008-08-11 21:13:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4c493d9a58 
								
							 
						 
						
							
							
								
								Don't call getAnalysisUsage unless -debug-pass is enabled.  This speeds  
							
							 
							
							... 
							
							
							
							up the passmgr by avoiding useless work.
llvm-svn: 54528 
							
						 
						
							2008-08-08 15:14:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cbd160f447 
								
							 
						 
						
							
							
								
								Speed up the passmgr by avoiding heap thrashing on vectors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 54515 
							
						 
						
							2008-08-08 05:33:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								02eb94c2d7 
								
							 
						 
						
							
							
								
								Don't verify passes when assertions are disabled.  
							
							 
							
							... 
							
							
							
							llvm-svn: 54446 
							
						 
						
							2008-08-07 07:34:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1526985bac 
								
							 
						 
						
							
							
								
								Consistently put quotes around pass names in debugging output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53268 
							
						 
						
							2008-07-09 00:50:40 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								99ad4ba227 
								
							 
						 
						
							
							
								
								Disable dom info verifier by default.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52983 
							
						 
						
							2008-07-01 21:36:11 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								67c79a4992 
								
							 
						 
						
							
							
								
								Fix typos in comments.  
							
							 
							
							... 
							
							
							
							Thanks for the feedback!
llvm-svn: 52978 
							
						 
						
							2008-07-01 19:50:56 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								9dbe4d15ec 
								
							 
						 
						
							
							
								
								Add dom info verifier.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52967 
							
						 
						
							2008-07-01 17:44:24 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								656a917ad9 
								
							 
						 
						
							
							
								
								Print debug message only if there are dead passes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52052 
							
						 
						
							2008-06-06 17:50:36 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								93af6ce129 
								
							 
						 
						
							
							
								
								More pass manager debugging outputs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51930 
							
						 
						
							2008-06-04 09:13:31 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ab85d6b6af 
								
							 
						 
						
							
							
								
								"Unable to schedule <A> required by <B>" is more helpful then  
							
							 
							
							... 
							
							
							
							"Unable to handle Pass that requires lower level Analysis pass"
llvm-svn: 51892 
							
						 
						
							2008-06-03 01:20:02 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								bb4720c43f 
								
							 
						 
						
							
							
								
								Add debugging aid.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51891 
							
						 
						
							2008-06-03 01:02:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							 
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								cbbf291f34 
								
							 
						 
						
							
							
								
								Keep track of analysis information inherited from Module pass manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48576 
							
						 
						
							2008-03-20 01:09:53 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								fbf53a4d1d 
								
							 
						 
						
							
							
								
								#if 1  .. #endif markers do not add any value.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48560 
							
						 
						
							2008-03-19 22:24:25 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								718da668ab 
								
							 
						 
						
							
							
								
								PassInfo keep tracks whether a pass is an analysis pass or not.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48554 
							
						 
						
							2008-03-19 21:56:59 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								af75ab8130 
								
							 
						 
						
							
							
								
								Do not use virtual function to identify an analysis pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48520 
							
						 
						
							2008-03-19 00:48:41 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								864970e9b6 
								
							 
						 
						
							
							
								
								Identify Analysis pass.  
							
							 
							
							... 
							
							
							
							Do not run analysis pass again if analysis info is still available.
This fixes PR1441.
llvm-svn: 48476 
							
						 
						
							2008-03-18 00:39:19 +00:00  
						
					 
				
					
						
							
							
								 
								Gordon Henriksen
							
						 
						
							 
							
							
							
							
								
							
							
								878114bf16 
								
							 
						 
						
							
							
								
								C and Objective Caml bindings for PassManagers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48413 
							
						 
						
							2008-03-16 04:20:44 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								565df95a36 
								
							 
						 
						
							
							
								
								Eliminate a few unnecessary uses of dynamic_cast.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48318 
							
						 
						
							2008-03-13 02:08:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1e9860a2ed 
								
							 
						 
						
							
							
								
								Fix a typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48317 
							
						 
						
							2008-03-13 01:58:48 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1412f515c3 
								
							 
						 
						
							
							
								
								Don't redundantly clear std::vector members in destructors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48316 
							
						 
						
							2008-03-13 01:57:34 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								73caf5ff10 
								
							 
						 
						
							
							
								
								Change PMTopLevelManager's PassManagers vector element type from  
							
							 
							
							... 
							
							
							
							Pass* to PMDataManager*. PMDataManager is more specific than Pass,
so this more accurately describes the objects that are being stored.
This eliminates the need for several dynamic_casts to PMDataManager*.
It does introduce one dynamic_cast though, in dumpPasses(). Give
this one a comment describing why a dynamic_cast is being used.
llvm-svn: 48315 
							
						 
						
							2008-03-13 01:48:32 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								11eecd635c 
								
							 
						 
						
							
							
								
								Change PMStack::push to accept a PMDataManager* instead of  
							
							 
							
							... 
							
							
							
							a Pass*. PMDataManager* is what it actually holds, so this
makes it clearer.
llvm-svn: 48314 
							
						 
						
							2008-03-13 01:21:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d3a20c9e1e 
								
							 
						 
						
							
							
								
								Give PassManager and FunctionPassManager a common base class, with  
							
							 
							
							... 
							
							
							
							add(Pass *) as a pure virtual member function. This will allow all
the various addPassesTo* functions in LLVM to avoid hard-coding what
type of PassManager is used. 
llvm-svn: 48226 
							
						 
						
							2008-03-11 16:41:42 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								dfdf2c0633 
								
							 
						 
						
							
							
								
								Fix typos in comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48225 
							
						 
						
							2008-03-11 16:18:48 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a1a6882519 
								
							 
						 
						
							
							
								
								Remove dead code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 47700 
							
						 
						
							2008-02-27 23:33:51 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8df7cc1119 
								
							 
						 
						
							
							
								
								Add comment explaining what is lower level analysis pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46658 
							
						 
						
							2008-02-02 01:43:30 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								929391a19a 
								
							 
						 
						
							
							
								
								Fix 80-col violations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46510 
							
						 
						
							2008-01-29 12:09:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								13ab93efde 
								
							 
						 
						
							
							
								
								Add explicit keywords.  
							
							 
							
							... 
							
							
							
							llvm-svn: 42747 
							
						 
						
							2007-10-08 15:08:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8c43e41d9b 
								
							 
						 
						
							
							
								
								Fix a  using namespace llvm;  in a header file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 42584 
							
						 
						
							2007-10-03 19:04:09 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								d305c404be 
								
							 
						 
						
							
							
								
								Do not overuse std::string.  Pass around char * directly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 41001 
							
						 
						
							2007-08-10 18:29:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								de2aa65877 
								
							 
						 
						
							
							
								
								minor simplifications.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40981 
							
						 
						
							2007-08-10 06:22:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd6304f6b1 
								
							 
						 
						
							
							
								
								avoid copying strings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40980 
							
						 
						
							2007-08-10 06:17:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e6656eb4ad 
								
							 
						 
						
							
							
								
								Fix pastos in comments for doFinalization functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40588 
							
						 
						
							2007-07-30 14:51:13 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								004937bbd9 
								
							 
						 
						
							
							
								
								Add facility to dump pass manager structure  
							
							 
							
							... 
							
							
							
							to make it easier to understand failure.
llvm-svn: 40567 
							
						 
						
							2007-07-27 20:06:09 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8adae86688 
								
							 
						 
						
							
							
								
								Use SmallVector instead of std::vector.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40109 
							
						 
						
							2007-07-20 18:04:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a273d1cd3a 
								
							 
						 
						
							
							
								
								Verify loop info.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40062 
							
						 
						
							2007-07-19 18:02:32 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ef43253e2e 
								
							 
						 
						
							
							
								
								Set up ground work to verify preserved analysis info.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40039 
							
						 
						
							2007-07-19 05:36:09 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								94d0fbe1a6 
								
							 
						 
						
							
							
								
								Fix memory leak.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38469 
							
						 
						
							2007-07-09 20:52:39 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								e16561cd5d 
								
							 
						 
						
							
							
								
								Here is the bulk of the sanitizing.  
							
							 
							
							... 
							
							
							
							Almost all occurrences of "bytecode" in the sources have been eliminated.
llvm-svn: 37913 
							
						 
						
							2007-07-05 17:07:56 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								d56e4919df 
								
							 
						 
						
							
							
								
								Fix quotes in debug messages.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37630 
							
						 
						
							2007-06-18 21:32:29 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								4d01a7b1b5 
								
							 
						 
						
							
							
								
								If user wants to run instcombine twice, do not block it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37301 
							
						 
						
							2007-05-23 05:08:52 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							 
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							 
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								68f72b17f2 
								
							 
						 
						
							
							
								
								Use toplevel function pass manager as OnTheFly manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36481 
							
						 
						
							2007-04-26 17:50:19 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								9294281ac1 
								
							 
						 
						
							
							
								
								Proivde  getAnalysis<FPAnalysis>(Func) support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36159 
							
						 
						
							2007-04-16 20:56:24 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								56a5c620fe 
								
							 
						 
						
							
							
								
								Do not assert during analysis implementation initialization.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36158 
							
						 
						
							2007-04-16 20:44:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								2ff4492a2c 
								
							 
						 
						
							
							
								
								Print and delete on the fly pass managers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36157 
							
						 
						
							2007-04-16 20:39:59 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								69e9f6d7c4 
								
							 
						 
						
							
							
								
								Update module pass manager to support module passes that require  
							
							 
							
							... 
							
							
							
							function passes.
llvm-svn: 36154 
							
						 
						
							2007-04-16 20:27:05 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e64d30573f 
								
							 
						 
						
							
							
								
								Give each pass manager chance to manage lower level analysis pass, which is  
							
							 
							
							... 
							
							
							
							pass required by one of pass managed by the manager.
llvm-svn: 36153 
							
						 
						
							2007-04-16 20:12:57 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								fb80151c42 
								
							 
						 
						
							
							
								
								Removed tabs everywhere except autogenerated & external files. Add make  
							
							 
							
							... 
							
							
							
							target for tabs checking.
llvm-svn: 36146 
							
						 
						
							2007-04-16 18:10:23 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								01919d2c0b 
								
							 
						 
						
							
							
								
								Speed Up Pass Manager.  
							
							 
							
							... 
							
							
							
							- Check Immutableness before searching PreservedSet.
- Avoid unnecessary traversal while setting Last User.
llvm-svn: 35028 
							
						 
						
							2007-03-08 19:05:01 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								9d9fc90952 
								
							 
						 
						
							
							
								
								Keep track of higher level analysis.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34974 
							
						 
						
							2007-03-06 17:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								42dd1e92c7 
								
							 
						 
						
							
							
								
								Keep track of inherited analysis. For example, if a loop pass does not  
							
							 
							
							... 
							
							
							
							preserve dominator info then it should update parent FPPassManager's
available analysis info to reflect this.
llvm-svn: 34942 
							
						 
						
							2007-03-06 01:55:46 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								d74ede70fb 
								
							 
						 
						
							
							
								
								Add preparePassManager() hook. This allows each pass to check whether  
							
							 
							
							... 
							
							
							
							current active pass manager is appropriate or not.
A loop pass may consider current LPPassManager in appropraite if loop
pass is not preserving analysis information that is used by other
passes managed by current LPPassManager. In such situation, loop pass
can pop current LPPassManager from the PMStack using this  hook
and use new LPPassManager for itself.
llvm-svn: 34941 
							
						 
						
							2007-03-06 01:06:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ec2b9a7850 
								
							 
						 
						
							
							
								
								Current pass manager, not the parent pass manager,  assumes the role of  
							
							 
							
							... 
							
							
							
							last user when one of the managed pass uses info provided by parent pass
manager.
This was exposed by LPPassManager work.
llvm-svn: 34936 
							
						 
						
							2007-03-05 22:57:49 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								003a559633 
								
							 
						 
						
							
							
								
								Avoid constructing std::strings unless pass debugging is ON.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34933 
							
						 
						
							2007-03-05 20:01:30 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								7ebf09dbca 
								
							 
						 
						
							
							
								
								Account for time consumed by releaseMemory() properly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34932 
							
						 
						
							2007-03-05 18:20:51 +00:00  
						
					 
				
					
						
							
							
								 
								Jeff Cohen
							
						 
						
							 
							
							
							
							
								
							
							
								b622c11f77 
								
							 
						 
						
							
							
								
								Unbreak VC++ build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34917 
							
						 
						
							2007-03-05 00:00:42 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								28349abeab 
								
							 
						 
						
							
							
								
								Make getPassManagerType() const.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34669 
							
						 
						
							2007-02-27 15:00:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9df8be40fe 
								
							 
						 
						
							
							
								
								temporarily revert Devang's most recent patch, which caused a large  
							
							 
							
							... 
							
							
							
							compile-time regression in LLC.
llvm-svn: 34385 
							
						 
						
							2007-02-17 23:14:24 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								98354dabc1 
								
							 
						 
						
							
							
								
								Use inverted map to speedup collectLastUses().  
							
							 
							
							... 
							
							
							
							llvm-svn: 34364 
							
						 
						
							2007-02-17 03:53:44 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								4d06ace0ef 
								
							 
						 
						
							
							
								
								Do not drop transferred last uses on the floor.  
							
							 
							
							... 
							
							
							
							Use handleLastUserOverflow().
llvm-svn: 34006 
							
						 
						
							2007-02-07 19:37:53 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								3f806969ed 
								
							 
						 
						
							
							
								
								Fix PR1158  
							
							 
							
							... 
							
							
							
							Do not insert Analysis pass, if it is already available.
llvm-svn: 33915 
							
						 
						
							2007-02-05 19:34:17 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e3858e6674 
								
							 
						 
						
							
							
								
								cvs commit  
							
							 
							
							... 
							
							
							
							llvm-svn: 33765 
							
						 
						
							2007-02-01 22:08:25 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								5301e7c605 
								
							 
						 
						
							
							
								
								For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid  
							
							 
							
							... 
							
							
							
							confusion with external linkage types.
llvm-svn: 33663 
							
						 
						
							2007-01-30 20:08:39 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								1c3633e461 
								
							 
						 
						
							
							
								
								- Undo previous check-in (i.e. Do not export TimingInfo class through  
							
							 
							
							... 
							
							
							
							PassManagers.h).
- Add StopPassTimer() and StartPassTimer() to expose TimingInfo to
CallGraphPassManager
- Use these two APIs in CalLgraphPassManager to measure timings.
llvm-svn: 33638 
							
						 
						
							2007-01-29 23:10:37 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								55bcb50840 
								
							 
						 
						
							
							
								
								Move TimingInfo into PassManagers.h so that other libs can use it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 33626 
							
						 
						
							2007-01-29 20:06:26 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								23f8aa921e 
								
							 
						 
						
							
							
								
								Update ModulePass::assignPassManager() to take into account Preferred  
							
							 
							
							... 
							
							
							
							Pass Manager Type.
llvm-svn: 33308 
							
						 
						
							2007-01-17 21:19:23 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								fd41843243 
								
							 
						 
						
							
							
								
								s/PassDebugging_New/PassDebugging/g  
							
							 
							
							... 
							
							
							
							llvm-svn: 33307 
							
						 
						
							2007-01-17 20:33:36 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								dffca63396 
								
							 
						 
						
							
							
								
								Update assignPassManager() signature to allow selection of preferred  
							
							 
							
							... 
							
							
							
							pass manager type. This allows new FPPassManager to select Call Graph
Pass Manager (if available) as its parent.
llvm-svn: 33306 
							
						 
						
							2007-01-17 20:30:17 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								d85662f67d 
								
							 
						 
						
							
							
								
								Pass manager may require certain analysis. In such cases, initially  
							
							 
							
							... 
							
							
							
							pass manager is last user.
llvm-svn: 33273 
							
						 
						
							2007-01-16 22:38:10 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								3312f75071 
								
							 
						 
						
							
							
								
								Undo last check-in.  
							
							 
							
							... 
							
							
							
							Remove setupPassManager() and its use.
llvm-svn: 33270 
							
						 
						
							2007-01-16 21:43:18 +00:00