Chris Lattner 
							
						 
					 
					
						
						
							
						
						376ad9fa9f 
					 
					
						
						
							
							Remove and simplify some of the bewildering collection of isFOORegister  
						
						... 
						
						
						
						methods which have strangely different semantics in different backends,
and noone knew what any did.
Getting rid of these ALSO allows the dependence of MachineInstr.h on
MRegisterInfo.h to be removed, which makes me much happier, and probably
alkis too.  :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11287  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-10 21:21:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f42dd5472 
					 
					
						
						
							
							Eliminate MachineOperand::isPhysicalRegister.  The X86 backend should use  
						
						... 
						
						
						
						MRegisterInfo::isPhysicalRegister(MO.getReg()) and the Sparc backend should
use isMachineRegister()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11279  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-10 20:42:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2e5db94cf 
					 
					
						
						
							
							Simplify condition, this does not change the predicate at all though  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-10 20:30:40 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						f7ecb9548d 
					 
					
						
						
							
							SchedGraph doesn't need to be friends with SchedGraphNodeCommon anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11240  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-09 18:43:06 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						14be64018f 
					 
					
						
						
							
							Modify the two address instruction pass to remove the duplicate  
						
						... 
						
						
						
						operand of the instruction and thus simplify the register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-04 22:17:40 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						fc1f6e835c 
					 
					
						
						
							
							Include <iosfwd> and <string> instead of <iostream>.  
						
						... 
						
						
						
						Take away the default iostream argument of createMachineFunctionPrinterPass(),
at Chris's request.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11121  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-04 21:41:10 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4e7854407c 
					 
					
						
						
							
							When an instruction like: A += B had both A and B virtual registers  
						
						... 
						
						
						
						spilled, A was loaded from its stack location twice. This fixes the bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-03 01:13:07 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						9fe7602862 
					 
					
						
						
							
							Revert changes. Will implement this using a different set of primitives  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 23:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						782ce955b2 
					 
					
						
						
							
							Add MachineOperand::setDef() and MachineOperand::setUse() so that the  
						
						... 
						
						
						
						TwoAddressInstructionPass can correctly update use/def information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 21:55:18 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						08cec00588 
					 
					
						
						
							
							Merge safe parts from last night's buggy commit. These do not break  
						
						... 
						
						
						
						any test cases :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 19:59:32 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4d46e1e521 
					 
					
						
						
							
							Revert last night's changes as they broke some tests. Will remerge parts of the patch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11029  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 14:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						32bdd4ea65 
					 
					
						
						
							
							Several performance enhancements and cleanups from Chris.  
						
						... 
						
						
						
						Simplification of LiveIntervals::Interval::overlaps() and addition of
examples to overlaps() and liveAt() to make them clearer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11028  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 04:56:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43549f710a 
					 
					
						
						
							
							Add a new lazily constructed mapping from Idx's the MBB they represent  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-30 22:08:09 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						09caa3751f 
					 
					
						
						
							
							Give clients of MachineFunctionPrinter the ability to specify a banner and  
						
						... 
						
						
						
						choose an ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11016  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-30 21:53:46 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						79b0c3f0b9 
					 
					
						
						
							
							Fix failing test cases with joined live intervals. It turns out that  
						
						... 
						
						
						
						when joining we need to check if we overlap with the second interval
or any of its aliases.
Also make joining intervals the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10973  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-23 13:37:51 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						e88280a422 
					 
					
						
						
							
							Add option to join live intervals. Two intervals are joined if there  
						
						... 
						
						
						
						is a move between two registers, at least one of the registers is
virtual and the two live intervals do not overlap.
This results in about 40% reduction in intervals, 30% decrease in the
register allocators running time and a 20% increase in peephole
optimizations (mainly move eliminations).
The option can be enabled by passing -join-liveintervals where
appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-22 23:08:45 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						a105c802b2 
					 
					
						
						
							
							Moved iterators to common file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-20 17:49:42 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						3b02cbe752 
					 
					
						
						
							
							Fold open interval ends handling into  
						
						... 
						
						
						
						LiveIntervals::Interval::expiredAt() and simplify regalloc code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10894  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-16 20:17:05 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						f5f1689ed2 
					 
					
						
						
							
							Use a list instead of a vector to store intervals. This will be needed  
						
						... 
						
						
						
						when we join intervals and one of the two will need to be removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10892  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-16 16:06:59 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						1a119e2410 
					 
					
						
						
							
							Remove allocatable registers vector. It is already provided by  
						
						... 
						
						
						
						LiveVariables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-13 22:10:43 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b08bdc4a16 
					 
					
						
						
							
							Make LiveVariables::HandlePhysRegUse and  
						
						... 
						
						
						
						LiveVariables::HandlePhysRegDef private they use information that is
not in memory when LiveVariables finishes the analysis.
Also update the TwoAddressInstructionPass to not use this interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10755  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-11 09:18:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f70e0c216c 
					 
					
						
						
							
							Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering  
						
						... 
						
						
						
						implementation from the TargetMachine directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 21:23:38 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						26bfc08b80 
					 
					
						
						
							
							Add coalescing to register allocator. A hint is added to each interval  
						
						... 
						
						
						
						which denotes the register we would like to be assigned to (virtual or
physical). In register allocation, if this hint exists and we can map
it to a physical register (it is either a physical register or it is a
virtual register that already got assigned to a physical one) we use
that register if it is available instead of a random one in the free
pool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 17:58:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						09c692bcef 
					 
					
						
						
							
							add argument  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 09:42:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						624affb56f 
					 
					
						
						
							
							ABC's must have virtual dtors!  Shame on me!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10624  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 08:55:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8a1931a942 
					 
					
						
						
							
							Move header into top-level llvm dir  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 08:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3f52c1561d 
					 
					
						
						
							
							Add new interface that allows removal of some code from the code generators,  
						
						... 
						
						
						
						provides for future extensibility, might help the LLVA project avoid having to
hack their own LLI, and provides support required for the experimental Venus
project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10620  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 08:19:13 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						6b4edbaaf9 
					 
					
						
						
							
							Change weight into a float so that we can take into account the  
						
						... 
						
						
						
						nesting level when computing it. Right now the allocator uses:
    w = sum_over_defs_uses( 10 ^ nesting level );
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10569  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-21 20:19:10 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						169cfd0196 
					 
					
						
						
							
							Add support for inactive intervals. This effectively reuses registers  
						
						... 
						
						
						
						for live ranges that fall into assigned registers' holes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10566  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-21 05:43:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3e200e6c3b 
					 
					
						
						
							
							Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass  
						
						... 
						
						
						
						to passes.h, and add the machien destruction pass to Passes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-20 10:18:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						73c1366ee2 
					 
					
						
						
							
							Remove sparc specific passes from public headers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10552  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-20 09:15:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						61838824c2 
					 
					
						
						
							
							Remove a horrible API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10551  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-20 09:15:01 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4c080863de 
					 
					
						
						
							
							Remove TwoAddressInstruction from the public headers and add an ID  
						
						... 
						
						
						
						instead, since this pass doesn't expose any state to its users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 22:40:24 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						71499ded4d 
					 
					
						
						
							
							Add TwoAddressInstructionPass to handle instructions that have two or  
						
						... 
						
						
						
						more operands and the two first operands are constrained to be the
same. The pass takes an instruction of the form:
        a = b op c
and transforms it into:
        a = b
        a = a op c
and also preserves live variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 13:06:04 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						485ec3c21e 
					 
					
						
						
							
							Rename LiveIntervals::expired() to LiveIntervals::expiredAt().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 08:56:11 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						dd2cc65f34 
					 
					
						
						
							
							Handle multiple virtual register definitions gracefully.  
						
						... 
						
						
						
						Move some of the longer LiveIntervals::Interval method out of the
header and add debug information to them. Fix bug and simplify range
merging code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10509  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 08:48:48 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						721b4e5715 
					 
					
						
						
							
							I wonder how this didn't cause any tests to fail...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10462  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-14 13:30:19 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4d7af65903 
					 
					
						
						
							
							Change interface of MachineOperand as follows:  
						
						... 
						
						
						
						a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
    b) add isUse(), isDef()
    c) rename opHiBits32() to isHiBits32(),
              opLoBits32() to isLoBits32(),
              opHiBits64() to isHiBits64(),
              opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-14 13:24:17 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4c214d2bf0 
					 
					
						
						
							
							Ignore non-allocatable physical registers in live interval analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-13 11:11:02 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b27ef248f5 
					 
					
						
						
							
							Move operator<<(std::ostream&, const LiveInterval&) out of the header file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10290  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-05 10:38:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						786a518f47 
					 
					
						
						
							
							Add some "useful" methods  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-01 05:30:29 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						ff0cbe175d 
					 
					
						
						
							
							Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10103  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-20 03:32:25 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						d0fde30ce8 
					 
					
						
						
							
							Put all LLVM code into the llvm namespace, as per bug 109.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-11 22:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d97487d1e0 
					 
					
						
						
							
							Actually share constants local to a function!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9417  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-23 16:29:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f7e61d226 
					 
					
						
						
							
							Add a new map  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 20:55:13 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						6fbcc26f14 
					 
					
						
						
							
							Added LLVM copyright header (for lack of a better term).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 20:19:47 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						661ab811d8 
					 
					
						
						
							
							This file has funny include guards and funny extra whitespace.  
						
						... 
						
						
						
						Make this file less funny.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9186  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-16 23:43:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ea2c1dcb7c 
					 
					
						
						
							
							We'll need this soon as well  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-15 22:09:46 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						185a7ab2ed 
					 
					
						
						
							
							Forward declare class Type since it is used in this class and Type.h is not included  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8958  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-08 04:45:45 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						7237ecef13 
					 
					
						
						
							
							Moved enum and command-line option in separate file. Also added function that returns the user selected register allocator to the caller.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8819  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-02 16:57:49 +00:00