David Greene 
							
						 
					 
					
						
						
							
						
						5c8aa950fe 
					 
					
						
						
							
							Ok, third time's the charm.  No changes from last time except the CMake  
						
						... 
						
						
						
						source addition.  Apparently the buildbots were wrong about failures.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation.  It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100249  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-02 23:17:14 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cf5862d8ac 
					 
					
						
						
							
							Revert 100204. It broke a bunch of tests and apparently changed what passes are run during codegen.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-02 19:29:15 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						434bd8551d 
					 
					
						
						
							
							Let's try this again.  Re-apply 100143 including an apparent missing  
						
						... 
						
						
						
						<string> include.  For some reason the buildbot choked on this while my
builds did not.  It's probably due to a difference in system headers.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation.  It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100204  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-02 18:46:26 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						1d8f83d0a0 
					 
					
						
						
							
							Revert r100143.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-01 22:54:42 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						8ef3acba00 
					 
					
						
						
							
							Add some switches helpful for debugging:  
						
						... 
						
						
						
						-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation.  It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100143  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-01 22:43:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						476e9bd114 
					 
					
						
						
							
							elimiante the dynamic_cast's from opt.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-22 06:03:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3660ecabbb 
					 
					
						
						
							
							eliminate a bunch of dynamic_cast's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94155  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-22 05:24:46 +00:00 
						 
				 
			
				
					
						
							
							
								John Mosby 
							
						 
					 
					
						
						
							
						
						4650d92748 
					 
					
						
						
							
							fixed some typos in method comments, reworded some comments for clarity  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 09:06:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3069b3193d 
					 
					
						
						
							
							Extract the code for inserting a loop into the loop queue into  
						
						... 
						
						
						
						a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82946  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-27 23:49:43 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e922c02019 
					 
					
						
						
							
							Get rid of the Pass+Context magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 00:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						001dbfebcb 
					 
					
						
						
							
							Move the ConstantInt uniquing table into LLVMContextImpl.  This exposed a number of issues in  
						
						... 
						
						
						
						our current context-passing stuff, which is also fixed here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 18:04:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Yasskin 
							
						 
					 
					
						
						
							
						
						d8ac1be686 
					 
					
						
						
							
							Delete LoopPass::runOnFunctionBody.  It was never used or implemented.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-26 20:42:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						189c6357a1 
					 
					
						
						
							
							Move dumpPassStructure out of line.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64796  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-02-17 19:41:26 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						244cc2c6c0 
					 
					
						
						
							
							Tidy whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64791  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-02-17 19:34:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						da278753c4 
					 
					
						
						
							
							Fix typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-26 18:13:11 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e6acf36dca 
					 
					
						
						
							
							Fix spelling of "hierarchy" in comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53489  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-11 22:51:32 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e4f1a7e8ff 
					 
					
						
						
							
							Fix typos in comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53487  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-11 22:48:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c758209153 
					 
					
						
						
							
							PassInfo keep tracks whether a pass is an analysis pass or not.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-19 21:56:59 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c7fe32e840 
					 
					
						
						
							
							Do not use virtual function to identify an analysis pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-19 00:48:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d7a3541a05 
					 
					
						
						
							
							Move the PMStack class out of Pass.h and into PassManagers.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48367  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-14 18:14:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ed47a1335 
					 
					
						
						
							
							Don't attribute in file headers anymore.  See llvmdev for the  
						
						... 
						
						
						
						discussion of this change.  Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 19:59:42 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						019b92a70c 
					 
					
						
						
							
							Start the process of making MachineLoopInfo possible by templating Loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44097  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-14 02:33:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c2bbfc18e9 
					 
					
						
						
							
							More explicit keywords.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40673  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-01 15:32:29 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c7e49c08c2 
					 
					
						
						
							
							Introduce Simple Analysis interface for loop passes.  
						
						... 
						
						
						
						Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-31 08:00:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						58e0ef1e90 
					 
					
						
						
							
							Verify loop info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40062  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-19 18:02:32 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a6900c7ad9 
					 
					
						
						
							
							Add explicit keywords.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-02 14:53:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1a957d563f 
					 
					
						
						
							
							Add loop info verification mechanism.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37822  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-29 23:13:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1997473cf7 
					 
					
						
						
							
							Drop 'const'  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-03 01:11:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3e15bf33e0 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-02 21:39:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						794fd75c67 
					 
					
						
						
							
							Do not use typeinfo to identify pass in pass manager.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-01 21:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8f93b7fc36 
					 
					
						
						
							
							Add getPotentialPassManagerType(). No functionality change, yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36149  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-16 18:51:25 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						bed2946a96 
					 
					
						
						
							
							Removed tabs everywhere except autogenerated & external files. Add make  
						
						... 
						
						
						
						target for tabs checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-16 18:10:23 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c37177eb72 
					 
					
						
						
							
							Use schedulePass() instead of assignPassManager() to add new LPPassManager.  
						
						... 
						
						
						
						This ensures that require analysis info is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34980  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 19:11:25 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a885c06bdf 
					 
					
						
						
							
							Add LPPassManager::insertLoop().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34979  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 19:00:02 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						7a9a0695f2 
					 
					
						
						
							
							LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code from  
						
						... 
						
						
						
						LoopUnswitch pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34977  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 18:38:33 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						22033be445 
					 
					
						
						
							
							LPPassManager. Implement preparePassManager() hook.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 17:59:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a5057d02c0 
					 
					
						
						
							
							LPPassManager : Add initialization and finalizatino hooks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34968  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 16:59:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						30159729ad 
					 
					
						
						
							
							Use std::deque to manage loop queue inside LPPassManager.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34943  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 02:30:46 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						84da80d10b 
					 
					
						
						
							
							Make getPassManagerType() const.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34669  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-27 15:00:39 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4b2646326b 
					 
					
						
						
							
							Loop passes are set up to accept pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 17:53:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bfd5905584 
					 
					
						
						
							
							Teach LoopPass to assign itself one Loop Pass Manager.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 00:36:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8ded5852fe 
					 
					
						
						
							
							Add facility that allows LoopPass to re-insert a loop into  
						
						... 
						
						
						
						Loop Pass Manager's queue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34509  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 00:16:44 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5afdc7d785 
					 
					
						
						
							
							Add LPPassManager interface that LoopPass can use to skip  
						
						... 
						
						
						
						rest of the passes in the queue for a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34508  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 00:10:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d0e6e33043 
					 
					
						
						
							
							Add LoopQueue. This is used by loop pass manager to manage loop nest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34504  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-22 23:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						16a31c4ebf 
					 
					
						
						
							
							Add Loop Pass Manager.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34487  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-22 08:56:17 +00:00