Chris Lattner 
							
						 
					 
					
						
						
							
						
						0fc27ccdd3 
					 
					
						
						
							
							Simplify the logic in the simple spiller and capitalize some variables  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-30 02:59:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f7d2d45fd 
					 
					
						
						
							
							Switch from defaulting to the 'local' spiller to the 'simple' spiller.  The  
						
						... 
						
						
						
						two spillers produce perfectly identical code (at least on povray and eon),
but the simple spiller is substantially faster than the local spiller. Once
the local spiller is improved, we can switch back.
Switching cuts 5.2% off of the llc time for povray (about 1.3s).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-30 02:40:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ea1b828eb 
					 
					
						
						
							
							Don't use a densemap for keeping track of which vregs are already loaded, just  
						
						... 
						
						
						
						use a simple vector.  This speeds up -spiller=simple from taking 22s to taking
.1s on povray (debug build).  This change does not modify the generated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16607  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-30 02:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f690e6258 
					 
					
						
						
							
							Use longer and more explicit names for instance vars (particularly important  
						
						... 
						
						
						
						data structures).  Fix the print method to send to the right ostream, not
always cerr.  Delete typedefs that are only used once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-30 02:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8c4d88d369 
					 
					
						
						
							
							Reindent code, improve comments, move huge nested methods out of classes,  
						
						... 
						
						
						
						prune #includes, add print/dump methods, etc.  No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-30 01:54:45 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						551ccae044 
					 
					
						
						
							
							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/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-01 22:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						26eb14ba51 
					 
					
						
						
							
							Stop using CreateStackObject(RegClass*)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15775  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-08-15 22:02:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						57f1b67c34 
					 
					
						
						
							
							These methods no longer take a TargetRegisterClass* operand.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-08-15 21:56:44 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						7848e68c16 
					 
					
						
						
							
							These files don't need to include <iostream> since they include "Support/Debug.h".  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-21 20:50:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b8edf61fa9 
					 
					
						
						
							
							Fix IA64 compatibility  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-16 00:06:01 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						b140762a45 
					 
					
						
						
							
							Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-25 00:13:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9bcdcd17c7 
					 
					
						
						
							
							Adjust to new TargetMachine interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13956  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-02 05:57:12 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						38af59a43c 
					 
					
						
						
							
							Add method to assign stack slot to virtual register without creating a  
						
						... 
						
						
						
						new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13895  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-29 20:38:05 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						6a367f33f3 
					 
					
						
						
							
							Spill explicit physical register defs as well.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-09 08:35:13 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						5ae00066c6 
					 
					
						
						
							
							As I wrote in the docs, simple is the default spiller :-)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-06 23:08:44 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						499b2bad27 
					 
					
						
						
							
							Add simple spiller.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12188  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-06 22:38:29 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						dd420e060a 
					 
					
						
						
							
							Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12062  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-01 23:18:15 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						5f37502bfb 
					 
					
						
						
							
							Add the long awaited memory operand folding support for linear scan  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-01 20:05:10 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						57af2cf6f3 
					 
					
						
						
							
							Make spiller push stores right after the definition of a register so  
						
						... 
						
						
						
						that they are as far away from the loads as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11895  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-27 04:51:35 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						8fa16e47f8 
					 
					
						
						
							
							Clear maps right after basic block is processed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11892  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-26 23:22:23 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						e3fcabe068 
					 
					
						
						
							
							Fix bugs found with recent addition of assertions in  
						
						... 
						
						
						
						MRegisterInfo::is{Physical,Virtual}Register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11849  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-25 23:21:52 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4d0d864be3 
					 
					
						
						
							
							Add DenseMap template and actually use it for for mapping virtual regs  
						
						... 
						
						
						
						to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11840  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-25 21:55:45 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						0d6c5b6489 
					 
					
						
						
							
							Move machine code rewriter and spiller outside the register  
						
						... 
						
						
						
						allocator.
The implementation is completely rewritten and now employs several
optimizations not exercised before. For example for 164.gzip we have
997 loads and 699 stores vs the 1221 loads and 880 stores we have
before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11798  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-24 08:58:30 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						34d9bc9f16 
					 
					
						
						
							
							Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug  
						
						... 
						
						
						
						251 (providing a generic machine code rewriter/spiller).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11780  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-23 23:08:11 +00:00