Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								13e8623a3f 
								
							 
						 
						
							
							
								
								Cleanup debugging output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10824 
							
						 
						
							2004-01-13 21:53:20 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								33f9cb1da7 
								
							 
						 
						
							
							
								
								Fix output of live intervals to show correctly its closed, open  
							
							 
							
							... 
							
							
							
							ranges, i.e. [a,b)
llvm-svn: 10822 
							
						 
						
							2004-01-13 21:17:47 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								9d0c3d21c8 
								
							 
						 
						
							
							
								
								Remove unneeded check (with the recent change in live variables a use  
							
							 
							
							... 
							
							
							
							of a physical register is always dominated by a def).
llvm-svn: 10821 
							
						 
						
							2004-01-13 21:16:25 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								65bc990bda 
								
							 
						 
						
							
							
								
								Indentation and whitespace cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10820 
							
						 
						
							2004-01-13 20:42:08 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								6b1ec75da9 
								
							 
						 
						
							
							
								
								Fix bug introduced by previous commit: check if fixed intervals  
							
							 
							
							... 
							
							
							
							overlap before adding their spill weight.
llvm-svn: 10819 
							
						 
						
							2004-01-13 20:37:01 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								ebbd66c042 
								
							 
						 
						
							
							
								
								Correctly compute live variable information for physical registers  
							
							 
							
							... 
							
							
							
							when an implicitely defined register is later used by an alias. For example:
         call foo
         %reg1024 = mov %AL
The call implicitely defines EAX but only AL is used. Before this fix
no information was available on AL. Now EAX and all its aliases except
AL get defined and die at the call instruction whereas AL lives to be
killed by the assignment.
llvm-svn: 10813 
							
						 
						
							2004-01-13 06:24:30 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								52a714b45b 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 10755 
							
						 
						
							2004-01-11 09:18:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8043f8c294 
								
							 
						 
						
							
							
								
								Remove use of llvm/CodeGen/InstrSelection.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 10749 
							
						 
						
							2004-01-10 19:16:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a4ee66f3ea 
								
							 
						 
						
							
							
								
								Finegrainify namespacification.  
							
							 
							
							... 
							
							
							
							This should get hunked over to the Sparc backend, along with
MachineCodeForInstruction and a bunch of files in include/llvm/Codegen,
but those battles will have to wait for a later time.
llvm-svn: 10731 
							
						 
						
							2004-01-09 06:30:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								83e84166a3 
								
							 
						 
						
							
							
								
								Move InstrSelection into lib/Target/Sparc, as it's sparc specific  
							
							 
							
							... 
							
							
							
							llvm-svn: 10730 
							
						 
						
							2004-01-09 06:24:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b9c7999881 
								
							 
						 
						
							
							
								
								Move lib/Codegen/RegAlloc into lib/Target/Sparc, as it is sparc specific  
							
							 
							
							... 
							
							
							
							llvm-svn: 10728 
							
						 
						
							2004-01-09 06:17:12 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								ae5b3d4f74 
								
							 
						 
						
							
							
								
								Add a separate list of fixed intervals. This improves the running time  
							
							 
							
							... 
							
							
							
							of the register allocator as follows:
       before   after
mesa   2.3790  1.5994
vpr    2.6008  1.2078
gcc    1.9840  0.5273
mcf    0.2569  0.0470
eon    1.8468  1.4359
twolf  0.9475  0.2004
burg   1.6807  1.3300
lambda 1.2191  0.3764
Speedups range anyware from 30% to over 400% :-)
llvm-svn: 10712 
							
						 
						
							2004-01-07 09:20:58 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								a64d71203e 
								
							 
						 
						
							
							
								
								Minor cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10711 
							
						 
						
							2004-01-07 05:31:12 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								9f62b96206 
								
							 
						 
						
							
							
								
								Remove declared but undefined method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10710 
							
						 
						
							2004-01-07 02:29:33 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								1e01557c4e 
								
							 
						 
						
							
							
								
								Change implementation of LiveIntervals::overlap(). This results in a  
							
							 
							
							... 
							
							
							
							30-50% decrease in running time of the linear scan register allocator.
llvm-svn: 10707 
							
						 
						
							2004-01-07 01:45:58 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								2fa1aef707 
								
							 
						 
						
							
							
								
								Remove simple coalescing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10695 
							
						 
						
							2004-01-05 08:24:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fc3d0598df 
								
							 
						 
						
							
							
								
								fix warning  
							
							 
							
							... 
							
							
							
							llvm-svn: 10692 
							
						 
						
							2004-01-05 05:42:17 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								08c5311729 
								
							 
						 
						
							
							
								
								Currently we cannot handle two-address instructions of the form:  
							
							 
							
							... 
							
							
							
							A = B op C where A == C, but this cannot really occur in practice
because of SSA form. Add an assert to check that just to be safe.
llvm-svn: 10682 
							
						 
						
							2004-01-05 02:25:45 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								5e0e67173d 
								
							 
						 
						
							
							
								
								Update description.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10681 
							
						 
						
							2004-01-04 23:09:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5d236005b0 
								
							 
						 
						
							
							
								
								Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering  
							
							 
							
							... 
							
							
							
							implementation from the TargetMachine directly.
llvm-svn: 10636 
							
						 
						
							2003-12-28 21:23:38 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								a158dc8104 
								
							 
						 
						
							
							
								
								Reserve ECX and EDI instead of EBX and EDI. Since EBX is a callee  
							
							 
							
							... 
							
							
							
							saved register it has a longer free range than ECX (which is defined
every time there is a fnuction call) which makes ECX a better register
to reserve.
llvm-svn: 10635 
							
						 
						
							2003-12-28 18:03:52 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								43b587d94d 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 10634 
							
						 
						
							2003-12-28 17:58:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10cac58d23 
								
							 
						 
						
							
							
								
								Whoops, don't try to lower non intrinsic calls  
							
							 
							
							... 
							
							
							
							llvm-svn: 10632 
							
						 
						
							2003-12-28 09:53:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b75e04a60 
								
							 
						 
						
							
							
								
								Use the intrinsic lowering functionality  
							
							 
							
							... 
							
							
							
							llvm-svn: 10626 
							
						 
						
							2003-12-28 09:43:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								24650d2b5e 
								
							 
						 
						
							
							
								
								Move into the VMCore library  
							
							 
							
							... 
							
							
							
							llvm-svn: 10623 
							
						 
						
							2003-12-28 08:30:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								08c196dd4b 
								
							 
						 
						
							
							
								
								Implement the default implementation of the intrinsic lowering class  
							
							 
							
							... 
							
							
							
							llvm-svn: 10621 
							
						 
						
							2003-12-28 08:19:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								27dd64242b 
								
							 
						 
						
							
							
								
								finegrainify namespacification  
							
							 
							
							... 
							
							
							
							minor cleanups
llvm-svn: 10619 
							
						 
						
							2003-12-28 07:59:53 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								2e8c984c58 
								
							 
						 
						
							
							
								
								Improve debugging output when choosing a register to spill.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10604 
							
						 
						
							2003-12-24 18:53:31 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								eeea81483f 
								
							 
						 
						
							
							
								
								Do a separate pass to compute spill weights because doing it inline  
							
							 
							
							... 
							
							
							
							with live intervals was missing registers that were used before they
were defined (in the arbitrary order live intervals numbers
instructions).
llvm-svn: 10603 
							
						 
						
							2003-12-24 15:44:53 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								7d7d7e89d4 
								
							 
						 
						
							
							
								
								Change the way free regusters are computed and perform better  
							
							 
							
							... 
							
							
							
							allocation in the presence of preallocated intervals.
llvm-svn: 10595 
							
						 
						
							2003-12-23 18:00:33 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								3ec903474f 
								
							 
						 
						
							
							
								
								Fix crash when compiling twolf.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10584 
							
						 
						
							2003-12-22 13:54:29 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								690e1b8de2 
								
							 
						 
						
							
							
								
								Remove verifyIntervals() since it doesn't actually work right now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10570 
							
						 
						
							2003-12-21 20:41:26 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								2665d9c6f9 
								
							 
						 
						
							
							
								
								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 );
llvm-svn: 10569 
							
						 
						
							2003-12-21 20:19:10 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								c09b77ea35 
								
							 
						 
						
							
							
								
								Add support for inactive intervals. This effectively reuses registers  
							
							 
							
							... 
							
							
							
							for live ranges that fall into assigned registers' holes.
llvm-svn: 10566 
							
						 
						
							2003-12-21 05:43:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4cbb97bfdd 
								
							 
						 
						
							
							
								
								Add a new target-independent machine code freeing pass  
							
							 
							
							... 
							
							
							
							llvm-svn: 10560 
							
						 
						
							2003-12-20 10:20:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9a3478e022 
								
							 
						 
						
							
							
								
								* Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							* Move sparc specific code out of generic code
* Eliminate the getOffset() method which made INVALID_FRAME_OFFSET
  necessary, which made pulling in MAX_INT as a sentinal necessary.
llvm-svn: 10553 
							
						 
						
							2003-12-20 09:17:07 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								7139090fd2 
								
							 
						 
						
							
							
								
								Remove TwoAddressInstruction from the public headers and add an ID  
							
							 
							
							... 
							
							
							
							instead, since this pass doesn't expose any state to its users.
llvm-svn: 10520 
							
						 
						
							2003-12-18 22:40:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8f88cdfa22 
								
							 
						 
						
							
							
								
								Prune some #includes  
							
							 
							
							... 
							
							
							
							Add a statistic for # reloads
llvm-svn: 10518 
							
						 
						
							2003-12-18 20:25:31 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								e5e2bd6777 
								
							 
						 
						
							
							
								
								Modify linear scan register allocator to use the two-address  
							
							 
							
							... 
							
							
							
							instruction pass. This also fixes all remaining bugs for this new
allocator to pass all tests under test/Programs.
llvm-svn: 10515 
							
						 
						
							2003-12-18 13:15:02 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								3bd69eaac5 
								
							 
						 
						
							
							
								
								Fix bug in reserved registers. DH actually aliases DX and EDX which  
							
							 
							
							... 
							
							
							
							are not reserved registers.
llvm-svn: 10514 
							
						 
						
							2003-12-18 13:12:18 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								c17d57bd82 
								
							 
						 
						
							
							
								
								Modify local register allocator to use the two-address instruction pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10513 
							
						 
						
							2003-12-18 13:08:52 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								725021cb6c 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 10512 
							
						 
						
							2003-12-18 13:06:04 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								4d87219486 
								
							 
						 
						
							
							
								
								Rename LiveIntervals::expired() to LiveIntervals::expiredAt().  
							
							 
							
							... 
							
							
							
							llvm-svn: 10511 
							
						 
						
							2003-12-18 08:56:11 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								15b8036b29 
								
							 
						 
						
							
							
								
								When a variable is killed and redifined in a basic block only one  
							
							 
							
							... 
							
							
							
							killing instruction is tracked. This causes the LiveIntervals to
create bogus intervals. The workaound is to add a range to the
interval from the redefinition to the end of the basic block.
llvm-svn: 10510 
							
						 
						
							2003-12-18 08:53:43 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								40874c708f 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 10509 
							
						 
						
							2003-12-18 08:48:48 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								8870674da7 
								
							 
						 
						
							
							
								
								Change preserve all claim to just preserve live variables and phielimination.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10469 
							
						 
						
							2003-12-15 04:55:38 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								aaba4639f8 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 10461 
							
						 
						
							2003-12-14 13:24:17 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								4f7f017ab5 
								
							 
						 
						
							
							
								
								When reserving a preallocated register spill the aliases of this  
							
							 
							
							... 
							
							
							
							register too.
llvm-svn: 10450 
							
						 
						
							2003-12-13 11:58:10 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								7dbdf3839c 
								
							 
						 
						
							
							
								
								Ignore non-allocatable physical registers in live interval analysis.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10449 
							
						 
						
							2003-12-13 11:11:02 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								ed53b35076 
								
							 
						 
						
							
							
								
								Expire any active intervals left when register allocation is done.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10448 
							
						 
						
							2003-12-13 05:50:19 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								e6dc614c3c 
								
							 
						 
						
							
							
								
								Add instruction numbers to debugging output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10447 
							
						 
						
							2003-12-13 05:48:57 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								06f379a278 
								
							 
						 
						
							
							
								
								Handle explicit physical register defs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10445 
							
						 
						
							2003-12-13 05:26:39 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								9bced9455a 
								
							 
						 
						
							
							
								
								Remove unecessary if statements when looping on ImplicitDefs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10444 
							
						 
						
							2003-12-13 01:20:58 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								fb55ac24ec 
								
							 
						 
						
							
							
								
								This appears to fix Bug 172 and does not break any other feature tests or  
							
							 
							
							... 
							
							
							
							regression tests.
llvm-svn: 10388 
							
						 
						
							2003-12-10 22:51:41 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								e59ad4b441 
								
							 
						 
						
							
							
								
								Make assertion stricter. Since the source operands are allocated at  
							
							 
							
							... 
							
							
							
							this point, the second operand must be a physical register (it cannot
be a virtual one).
llvm-svn: 10292 
							
						 
						
							2003-12-05 11:31:39 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								f8fe176204 
								
							 
						 
						
							
							
								
								Fix bug in register spilling when a preallocated live range overlaps a  
							
							 
							
							... 
							
							
							
							potential register assignment.
llvm-svn: 10291 
							
						 
						
							2003-12-05 11:17:55 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								2de099e54f 
								
							 
						 
						
							
							
								
								Move operator<<(std::ostream&, const LiveInterval&) out of the header file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10290 
							
						 
						
							2003-12-05 10:38:28 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								ed28ca93ef 
								
							 
						 
						
							
							
								
								Sort live intervals by increasing start point.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10289 
							
						 
						
							2003-12-05 10:32:01 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								5fe0031c68 
								
							 
						 
						
							
							
								
								Improve debugging output and clean up some code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10288 
							
						 
						
							2003-12-04 03:57:28 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								26f17e73eb 
								
							 
						 
						
							
							
								
								Print instructions before register allocation is performed.  Also fix  
							
							 
							
							... 
							
							
							
							bug where spill instructions were added to the next basic block
instead of the end of the current one if the instruction that required
the spill was the last in the block.
llvm-svn: 10272 
							
						 
						
							2003-11-30 23:40:39 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								0aa40f8db0 
								
							 
						 
						
							
							
								
								Remove "numReloaded" statistic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10268 
							
						 
						
							2003-11-30 05:15:36 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								0e9ded74c0 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 10103 
							
						 
						
							2003-11-20 03:32:25 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								8f53a89edf 
								
							 
						 
						
							
							
								
								Fix problems linking against the reoptimizer; _llvm_regAllocState must have  
							
							 
							
							... 
							
							
							
							externally-visible linkage, and SaveStateToModule must default to true for llc.
I don't remember why I made it const; perhaps it should be deconstified.
llvm-svn: 9858 
							
						 
						
							2003-11-10 07:12:01 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								c0c23c29aa 
								
							 
						 
						
							
							
								
								Operand numbers are now ints. Save the register allocation of the value  
							
							 
							
							... 
							
							
							
							each instruction produces as "operand" -1, and the other operands as 0
.. n, as before. PhyRegAlloc::saveState() is refactored into
PhyRegAlloc::saveStateForValue().
llvm-svn: 9842 
							
						 
						
							2003-11-10 00:05:26 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								2b8724acc6 
								
							 
						 
						
							
							
								
								Let's not forget about our friends -- Constant Pool indices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9750 
							
						 
						
							2003-11-06 00:04:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a9e7fe9ea2 
								
							 
						 
						
							
							
								
								Do not use a class before it is defined.  
							
							 
							
							... 
							
							
							
							Be gcc 3.4 clean
llvm-svn: 9727 
							
						 
						
							2003-11-05 06:25:06 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								69c2841b2a 
								
							 
						 
						
							
							
								
								Update verifySavedState()'s comment, so that it reflects its current  
							
							 
							
							... 
							
							
							
							status.  In doFinalization(), skip over external functions, just like
Anand's mapping info does.
llvm-svn: 9703 
							
						 
						
							2003-11-04 22:42:41 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								2a262ef095 
								
							 
						 
						
							
							
								
								Add comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9697 
							
						 
						
							2003-11-04 18:25:56 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								8541bd9db9 
								
							 
						 
						
							
							
								
								Include llvm/CodeGen/MachineCodeForInstruction.h.  Use it to start  
							
							 
							
							... 
							
							
							
							implementing verifySavedState().
In saveState(), use the new AllocInfo::AllocStateTy enum, and increment
Insn each time through the loop.
llvm-svn: 9617 
							
						 
						
							2003-10-30 21:21:33 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								727ec9bec5 
								
							 
						 
						
							
							
								
								Make AllocState an enum.  
							
							 
							
							... 
							
							
							
							Move the stringifying method for that enum into class AllocInfo.
llvm-svn: 9616 
							
						 
						
							2003-10-30 21:21:22 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								eca381c7e8 
								
							 
						 
						
							
							
								
								Publicize the type of FnAllocState.  
							
							 
							
							... 
							
							
							
							Prototype option to save state in a global instead of as a Constant in
 the Module. (Turned off, for now, with the on/off switch welded in the off
 position. You get the idea.)
llvm-svn: 9500 
							
						 
						
							2003-10-24 21:21:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9ab7fbef60 
								
							 
						 
						
							
							
								
								standardize command line option names  
							
							 
							
							... 
							
							
							
							llvm-svn: 9496 
							
						 
						
							2003-10-24 20:05:58 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								24fb8f07f3 
								
							 
						 
						
							
							
								
								Move the implementations of ==, != on AllocInfos here, from UnpackTraceFunction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9452 
							
						 
						
							2003-10-23 20:39:18 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								390d31cde4 
								
							 
						 
						
							
							
								
								Move AllocInfo structure to a private AllocInfo.h header file.  
							
							 
							
							... 
							
							
							
							Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants.
Give doFinalization a method comment, and let it do the work of converting
 AllocInfos to LLVM Constants.
llvm-svn: 9451 
							
						 
						
							2003-10-23 20:32:55 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								a6bfe8eb9e 
								
							 
						 
						
							
							
								
								Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9450 
							
						 
						
							2003-10-23 20:32:02 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								8e766c7ab3 
								
							 
						 
						
							
							
								
								New file, containing AllocInfo structure.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9449 
							
						 
						
							2003-10-23 20:31:51 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								88df876012 
								
							 
						 
						
							
							
								
								* Eliminate `using' directive  
							
							 
							
							... 
							
							
							
							* Fix order of #includes
* Make code layout more consistent
* Eliminate extraneous whitespace and comment-lines
llvm-svn: 9433 
							
						 
						
							2003-10-23 18:10:02 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								dc07775d58 
								
							 
						 
						
							
							
								
								* Fix order of #include files  
							
							 
							
							... 
							
							
							
							* Doxygen-ify method comments
llvm-svn: 9432 
							
						 
						
							2003-10-23 18:06:27 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								0b624fefb7 
								
							 
						 
						
							
							
								
								* Order #includes as per style guide  
							
							 
							
							... 
							
							
							
							* Doxygen-ify comments
* Make code layout more consistent
llvm-svn: 9431 
							
						 
						
							2003-10-23 18:03:50 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								28ba80e648 
								
							 
						 
						
							
							
								
								* Use C++ style comments instead of C-style  
							
							 
							
							... 
							
							
							
							* Make file description more readable
* Make code layout more consistent, include comment in assert so it's visible
  during execution if it hits
llvm-svn: 9430 
							
						 
						
							2003-10-23 18:02:47 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7d56d2c6fb 
								
							 
						 
						
							
							
								
								* Eliminate `using' directive  
							
							 
							
							... 
							
							
							
							* Make code layout more consistent
llvm-svn: 9427 
							
						 
						
							2003-10-23 17:43:17 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								c7b1bce283 
								
							 
						 
						
							
							
								
								Make code layout more consistent.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9426 
							
						 
						
							2003-10-23 17:39:37 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								f140b28c16 
								
							 
						 
						
							
							
								
								Change the type of FnAllocState.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9388 
							
						 
						
							2003-10-22 20:44:29 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								41fe18cbaa 
								
							 
						 
						
							
							
								
								Don't worry about converting each function's reg. alloc. state into One Big  
							
							 
							
							... 
							
							
							
							Constant early on, because we can do it in doFinalization.
Tighten up a comment.
llvm-svn: 9387 
							
						 
						
							2003-10-22 20:44:23 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								f29231ec3a 
								
							 
						 
						
							
							
								
								Add prototype for verifySavedState().  
							
							 
							
							... 
							
							
							
							llvm-svn: 9386 
							
						 
						
							2003-10-22 20:23:13 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								e3cf072d9e 
								
							 
						 
						
							
							
								
								Doxygenify method comments.  
							
							 
							
							... 
							
							
							
							Try to improve method comments a little.
Get rid of some excess whitespace; put braces on previous line when possible.
Add stub for method to verify the work of saveState().
llvm-svn: 9385 
							
						 
						
							2003-10-22 20:22:53 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								9583cfafc5 
								
							 
						 
						
							
							
								
								Added LLVM copyright notice.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9324 
							
						 
						
							2003-10-21 15:29:18 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								29265fe981 
								
							 
						 
						
							
							
								
								Added LLVM copyright header.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9321 
							
						 
						
							2003-10-21 15:17:13 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								4436c49787 
								
							 
						 
						
							
							
								
								Added LLVM copyright notice to Makefiles.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9312 
							
						 
						
							2003-10-20 22:26:57 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								482202a601 
								
							 
						 
						
							
							
								
								Added LLVM project notice to the top of every C++ source file.  
							
							 
							
							... 
							
							
							
							Header files will be on the way.
llvm-svn: 9298 
							
						 
						
							2003-10-20 19:43:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b94550e537 
								
							 
						 
						
							
							
								
								Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9269 
							
						 
						
							2003-10-19 21:34:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9177d11367 
								
							 
						 
						
							
							
								
								#include vector which we will need here soon  
							
							 
							
							... 
							
							
							
							llvm-svn: 9144 
							
						 
						
							2003-10-15 22:09:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f95d9b99b3 
								
							 
						 
						
							
							
								
								Decrease usage of use_size()  
							
							 
							
							... 
							
							
							
							llvm-svn: 9135 
							
						 
						
							2003-10-15 16:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44d2c3514a 
								
							 
						 
						
							
							
								
								Regularize header file comments  
							
							 
							
							... 
							
							
							
							llvm-svn: 9071 
							
						 
						
							2003-10-13 03:32:08 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								80f283b316 
								
							 
						 
						
							
							
								
								* Doxygenified comments  
							
							 
							
							... 
							
							
							
							* Wrap code at 80 columns
* Ordered includes according to LLVM style guide
llvm-svn: 9020 
							
						 
						
							2003-10-10 17:41:32 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								5f1f337d95 
								
							 
						 
						
							
							
								
								Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs  
							
							 
							
							... 
							
							
							
							and TargetInstrDescriptor::ImplicitUses to always point to a null
terminated array and never be null. So there is no need to check for
pointer validity when iterating over those sets. Code that looked
like:
if (const unsigned* AS = TID.ImplicitDefs) {
  for (int i = 0; AS[i]; ++i) {
    // use AS[i]
  }
}
was changed to:
for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
  // use *AS
}
llvm-svn: 8960 
							
						 
						
							2003-10-08 05:20:08 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								5facafaabe 
								
							 
						 
						
							
							
								
								Moved enum and command-line option in separate file. Also added function that returns the user selected register allocator to the caller.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8819 
							
						 
						
							2003-10-02 16:57:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1f8d21e233 
								
							 
						 
						
							
							
								
								include passes.h which defines the interface this file exposes  
							
							 
							
							... 
							
							
							
							llvm-svn: 8793 
							
						 
						
							2003-09-30 20:13:59 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								974bc6682e 
								
							 
						 
						
							
							
								
								Update head-of-file comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8699 
							
						 
						
							2003-09-24 18:16:23 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								1542a8b820 
								
							 
						 
						
							
							
								
								Untabify tabs in stuff I've recently added.  
							
							 
							
							... 
							
							
							
							Check in my register allocator state-saving code.
llvm-svn: 8698 
							
						 
						
							2003-09-24 18:08:54 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								82585e030c 
								
							 
						 
						
							
							
								
								Use getRegClassID() instead of getRegClass()->getID(), since it's there.  
							
							 
							
							... 
							
							
							
							Shorten the markSuggestedColorUsable method.
Add a switch for saving reg. alloc. state (coming soon).
llvm-svn: 8697 
							
						 
						
							2003-09-24 17:50:28 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								50364030ca 
								
							 
						 
						
							
							
								
								Remove some unused methods of class IGNode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8696 
							
						 
						
							2003-09-24 04:29:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6b379da6c3 
								
							 
						 
						
							
							
								
								Move getAnalysisUsage method from header to .cpp file.  Add a normal file  
							
							 
							
							... 
							
							
							
							header comment
llvm-svn: 8679 
							
						 
						
							2003-09-23 15:13:04 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								e383a14960 
								
							 
						 
						
							
							
								
								Use C++ math header instead of C version.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8648 
							
						 
						
							2003-09-21 03:57:37 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								32cd554853 
								
							 
						 
						
							
							
								
								Erase now-unused prototypes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8647 
							
						 
						
							2003-09-21 02:51:00 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								20c888fa9f 
								
							 
						 
						
							
							
								
								Rearrange #includes ... since there are fewer now I guess it's a win.  
							
							 
							
							... 
							
							
							
							(I also zapped printMachineCode() and printLabel() at the previous checkin,
but forgot to mention it.)
llvm-svn: 8646 
							
						 
						
							2003-09-21 02:50:21 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								3a0a5fc1b3 
								
							 
						 
						
							
							
								
								Standardize the names of include guards.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8645 
							
						 
						
							2003-09-21 02:31:37 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								58dabb4406 
								
							 
						 
						
							
							
								
								Standardize the names of include guards.  
							
							 
							
							... 
							
							
							
							Remove more excess whitespace.
llvm-svn: 8644 
							
						 
						
							2003-09-21 02:31:25 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								73d10dc47b 
								
							 
						 
						
							
							
								
								Standardize the names of include guards.  
							
							 
							
							... 
							
							
							
							Fix typos in file header comment.
llvm-svn: 8643 
							
						 
						
							2003-09-21 02:31:15 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								43593b8cd0 
								
							 
						 
						
							
							
								
								I tried to standardize the formatting and tidy up the huge amount of  
							
							 
							
							... 
							
							
							
							excess whitespace a little. Also improved some comments.
llvm-svn: 8642 
							
						 
						
							2003-09-21 02:24:09 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								e1061018bf 
								
							 
						 
						
							
							
								
								Convert PhyRegAlloc into a proper pass.  
							
							 
							
							... 
							
							
							
							PhyRegAlloc.cpp:
 Don't include TargetMachine.h or TargetRegInfo.h, because these are provided
  by PhyRegAlloc.h.
 Merge class RegisterAllocator into class PhyRegAlloc.
 Simplify & move ctor, dtor to PhyRegAlloc.h.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 MarkAllocatedRegs() becomes a member method, with fewer args.
PhyRegAlloc.h:
 Include Pass.h, TargetMachine.h and TargetRegInfo.h. Don't declare
  TargetRegInfo forward.
 Give AddedInstrns the obvious clear() method.
 Make some of PhyRegAlloc's reference members into pointer members,
  so they can be more easily messed with.
 Add prototype for markAllocatedRegs().
 Remove unused inline void constructLiveRanges().
llvm-svn: 8641 
							
						 
						
							2003-09-21 01:23:46 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								02fe6b7683 
								
							 
						 
						
							
							
								
								Fixed spelling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8588 
							
						 
						
							2003-09-17 21:34:23 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								666b18f1a6 
								
							 
						 
						
							
							
								
								Fix typo in comment. Take out some random whitespace.  
							
							 
							
							... 
							
							
							
							(Partial merge from my working file)
llvm-svn: 8564 
							
						 
						
							2003-09-16 15:38:05 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								c8a9ec01b6 
								
							 
						 
						
							
							
								
								Edit comment for accuracy  
							
							 
							
							... 
							
							
							
							llvm-svn: 8562 
							
						 
						
							2003-09-16 15:36:50 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8579a9a38c 
								
							 
						 
						
							
							
								
								Add flag to control whether or not delay slots are filled during  
							
							 
							
							... 
							
							
							
							instruction scheduling (this is off by default).
llvm-svn: 8553 
							
						 
						
							2003-09-16 05:55:15 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								75ed4b8831 
								
							 
						 
						
							
							
								
								Fix typos in comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8523 
							
						 
						
							2003-09-15 05:28:42 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								acda7df68b 
								
							 
						 
						
							
							
								
								Fixed spelling and grammar.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8489 
							
						 
						
							2003-09-11 22:34:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5718a6bf99 
								
							 
						 
						
							
							
								
								Don't build dead directories  
							
							 
							
							... 
							
							
							
							llvm-svn: 8308 
							
						 
						
							2003-09-01 20:34:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c87312a858 
								
							 
						 
						
							
							
								
								Remove dead library makefile  
							
							 
							
							... 
							
							
							
							llvm-svn: 8304 
							
						 
						
							2003-09-01 20:29:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a5b78c68d9 
								
							 
						 
						
							
							
								
								Remove makefile for dead library  
							
							 
							
							... 
							
							
							
							llvm-svn: 8303 
							
						 
						
							2003-09-01 20:26:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eefb565449 
								
							 
						 
						
							
							
								
								LiveRange.h is now in lib/CodeGen/RegAlloc  
							
							 
							
							... 
							
							
							
							llvm-svn: 8299 
							
						 
						
							2003-09-01 20:17:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e80612a28e 
								
							 
						 
						
							
							
								
								LiveRangeInfo got moved into the lib/CodeGen/RegAlloc directory  
							
							 
							
							... 
							
							
							
							llvm-svn: 8297 
							
						 
						
							2003-09-01 20:12:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f1ab45bdf5 
								
							 
						 
						
							
							
								
								PhyRegAlloc.h got moved to lib/CodeGen/RegAlloc  
							
							 
							
							... 
							
							
							
							llvm-svn: 8296 
							
						 
						
							2003-09-01 20:09:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7127065f24 
								
							 
						 
						
							
							
								
								Move IGNode from public include directory to here.  Minor cleanups like adding std:: namespace qualifiers  
							
							 
							
							... 
							
							
							
							llvm-svn: 8295 
							
						 
						
							2003-09-01 20:05:47 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								a4b09fe071 
								
							 
						 
						
							
							
								
								Fixed two double free bugs that caused llc to segfault or run forever.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8191 
							
						 
						
							2003-08-28 21:43:17 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								190b7a86ba 
								
							 
						 
						
							
							
								
								Removing README  
							
							 
							
							... 
							
							
							
							llvm-svn: 8180 
							
						 
						
							2003-08-28 17:17:59 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7efb18f49c 
								
							 
						 
						
							
							
								
								Putting my revised version of ModuloScheduling in cvs. This is not complete...  
							
							 
							
							... 
							
							
							
							llvm-svn: 8179 
							
						 
						
							2003-08-28 17:12:14 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								89860151b9 
								
							 
						 
						
							
							
								
								Moved index into BB to common graph class because its needed by ModuloSchedGraph.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8174 
							
						 
						
							2003-08-28 15:30:40 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cf8851eb20 
								
							 
						 
						
							
							
								
								Added/removed header file  
							
							 
							
							... 
							
							
							
							llvm-svn: 8160 
							
						 
						
							2003-08-27 15:12:24 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9af699b885 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 8153 
							
						 
						
							2003-08-27 02:42:58 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cc85d4544f 
								
							 
						 
						
							
							
								
								First version of SchedGraph common class and refactoring of SchedGraph.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8148 
							
						 
						
							2003-08-25 22:42:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e6235443a5 
								
							 
						 
						
							
							
								
								Fix bug: Jello/2003-08-23-RegisterAllocatePhysReg.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 8095 
							
						 
						
							2003-08-23 23:49:42 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								be372b91e1 
								
							 
						 
						
							
							
								
								The word `dependent' has no `a'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 8030 
							
						 
						
							2003-08-21 22:14:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a73b95821a 
								
							 
						 
						
							
							
								
								Fix spello  
							
							 
							
							... 
							
							
							
							llvm-svn: 8029 
							
						 
						
							2003-08-21 22:05:57 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7eb05a170a 
								
							 
						 
						
							
							
								
								Spell `necessary' correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7944 
							
						 
						
							2003-08-18 14:43:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								931947db18 
								
							 
						 
						
							
							
								
								Fix bug: Jello/2003-08-15-AllocaAssertion.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 7916 
							
						 
						
							2003-08-17 18:01:15 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								91e16e750b 
								
							 
						 
						
							
							
								
								Fix typo in comment  
							
							 
							
							... 
							
							
							
							llvm-svn: 7906 
							
						 
						
							2003-08-15 21:19:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3b5b633c77 
								
							 
						 
						
							
							
								
								Remove uses of the NonCopyable class, to make the doxygen output look better  
							
							 
							
							... 
							
							
							
							llvm-svn: 7880 
							
						 
						
							2003-08-15 05:20:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0605c232b7 
								
							 
						 
						
							
							
								
								rename selection directory and library to SelectionDAG  
							
							 
							
							... 
							
							
							
							llvm-svn: 7877 
							
						 
						
							2003-08-15 04:55:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e81de41edf 
								
							 
						 
						
							
							
								
								Add a bunch of new node types, etc  
							
							 
							
							... 
							
							
							
							llvm-svn: 7875 
							
						 
						
							2003-08-15 04:53:16 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								8c14ba96ca 
								
							 
						 
						
							
							
								
								Factory methods for function passes now return type FunctionPass *.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7839 
							
						 
						
							2003-08-14 06:09:32 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								cbd3a40626 
								
							 
						 
						
							
							
								
								Factory methods for function passes now return type FunctionPass *.  
							
							 
							
							... 
							
							
							
							Get rid of RegisterLLC, which can't handle FunctionPasses anyway.
llvm-svn: 7836 
							
						 
						
							2003-08-14 06:04:49 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								89207943a1 
								
							 
						 
						
							
							
								
								Factory methods for FunctionPasses now return type FunctionPass *.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7823 
							
						 
						
							2003-08-13 18:18:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bb9be9ddbc 
								
							 
						 
						
							
							
								
								Mapping directory no longer exists  
							
							 
							
							... 
							
							
							
							llvm-svn: 7801 
							
						 
						
							2003-08-13 02:37:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9643bb118 
								
							 
						 
						
							
							
								
								Obsolete file  
							
							 
							
							... 
							
							
							
							llvm-svn: 7799 
							
						 
						
							2003-08-13 02:27:13 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7dc5b6707c 
								
							 
						 
						
							
							
								
								For instructions in a delay slot of another instruction,  
							
							 
							
							... 
							
							
							
							we no longer need to find the live-before set of the delayed
branch since that set is now included the live-before/after
set of the instructions in each delay slot.  Just assert that instead.
llvm-svn: 7796 
							
						 
						
							2003-08-12 22:22:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2c2062cdba 
								
							 
						 
						
							
							
								
								Build the SelectionDAG library  
							
							 
							
							... 
							
							
							
							llvm-svn: 7718 
							
						 
						
							2003-08-11 14:57:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								600d308853 
								
							 
						 
						
							
							
								
								Initial checkin of SelectionDAG implementation.  This is still rough and  
							
							 
							
							... 
							
							
							
							unfinished
llvm-svn: 7717 
							
						 
						
							2003-08-11 14:57:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								da92f366c7 
								
							 
						 
						
							
							
								
								Fix assertion in MachineInstr::substituteValue().  
							
							 
							
							... 
							
							
							
							llvm-svn: 7675 
							
						 
						
							2003-08-07 15:01:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30e987470f 
								
							 
						 
						
							
							
								
								Use a new local data structure instead of the MachineInstr::regsUsed set  
							
							 
							
							... 
							
							
							
							llvm-svn: 7621 
							
						 
						
							2003-08-05 22:11:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								92f5fb598c 
								
							 
						 
						
							
							
								
								Add a map  
							
							 
							
							... 
							
							
							
							llvm-svn: 7620 
							
						 
						
							2003-08-05 22:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e62a2a76e5 
								
							 
						 
						
							
							
								
								Minor cleanups  
							
							 
							
							... 
							
							
							
							llvm-svn: 7619 
							
						 
						
							2003-08-05 22:03:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b05d3508d6 
								
							 
						 
						
							
							
								
								Physical registers no longer live in the regsUsed set for each machine instr  
							
							 
							
							... 
							
							
							
							llvm-svn: 7618 
							
						 
						
							2003-08-05 21:55:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								020b544cbc 
								
							 
						 
						
							
							
								
								Do not insert physical regsiters into the regsUsed set  
							
							 
							
							... 
							
							
							
							llvm-svn: 7617 
							
						 
						
							2003-08-05 21:55:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cd4f4320b0 
								
							 
						 
						
							
							
								
								All callers of these methods actually wanted them to preserve the flags,  
							
							 
							
							... 
							
							
							
							so get rid of the def/use parameters that were getting passed in.
**** This now changes the semantics of these methods to preserve the flags,
     not clobber them!
llvm-svn: 7602 
							
						 
						
							2003-08-05 16:58:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								92a199dca7 
								
							 
						 
						
							
							
								
								Fix bugs handling ESP in alloca references  
							
							 
							
							... 
							
							
							
							llvm-svn: 7591 
							
						 
						
							2003-08-05 04:13:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								506fa6843e 
								
							 
						 
						
							
							
								
								Revert previous change, and be really anal about what physical registers can do.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7588 
							
						 
						
							2003-08-05 00:49:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b637cc666 
								
							 
						 
						
							
							
								
								Don't bother calculating info unless its needed.  May reduce number of stack slots created.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7584 
							
						 
						
							2003-08-04 23:42:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								815b85e3ba 
								
							 
						 
						
							
							
								
								* Fix spelling of 'necessary'  
							
							 
							
							... 
							
							
							
							* Add a lot more DEBUG output, which is better structured than before
* Fix bug: Jello/2003-08-04-PhysRegLiveFailure.llx
llvm-svn: 7583 
							
						 
						
							2003-08-04 23:36:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								41a894de77 
								
							 
						 
						
							
							
								
								Simplify code, eliminating the need for the X86 isVoid target instr flag  
							
							 
							
							... 
							
							
							
							llvm-svn: 7534 
							
						 
						
							2003-08-03 21:51:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								74e4e9b44f 
								
							 
						 
						
							
							
								
								Set debug types  
							
							 
							
							... 
							
							
							
							llvm-svn: 7533 
							
						 
						
							2003-08-03 21:47:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1789d23990 
								
							 
						 
						
							
							
								
								Remove using decl  
							
							 
							
							... 
							
							
							
							llvm-svn: 7531 
							
						 
						
							2003-08-03 20:24:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6cce665888 
								
							 
						 
						
							
							
								
								Wrap at 80 columns  
							
							 
							
							... 
							
							
							
							llvm-svn: 7503 
							
						 
						
							2003-08-03 13:49:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1007f033d4 
								
							 
						 
						
							
							
								
								Move DEBUG to Debug.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 7497 
							
						 
						
							2003-08-01 22:21:34 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9143f1962e 
								
							 
						 
						
							
							
								
								All constant-evaluation code now unified into  
							
							 
							
							... 
							
							
							
							TargetInstrInfo::ConvertConstantToIntType().
llvm-svn: 7390 
							
						 
						
							2003-07-29 19:50:12 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c9cb319bcb 
								
							 
						 
						
							
							
								
								1. Bug fix:  Don't use branch operand reg. as temp. reg. when  
							
							 
							
							... 
							
							
							
							spilling values used by an instruction in the delay slot of the branch
   (which will eventually be moved before the branch).
2. Bug fix:  Delete the delay slot instr, not the branch instr, when
   moving delay slot instr. out!!!!
3. Move code to insert caller-saves moved here from SparcRegInfo:
   it is now machine-independent.
llvm-svn: 7389 
							
						 
						
							2003-07-29 19:49:21 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e2ef34a818 
								
							 
						 
						
							
							
								
								Add const version of getLiveRangeForValue().  
							
							 
							
							... 
							
							
							
							llvm-svn: 7386 
							
						 
						
							2003-07-29 19:38:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								91e75d87d2 
								
							 
						 
						
							
							
								
								Code to insert caller-saves moved here from SparcRegInfo: it is now  
							
							 
							
							... 
							
							
							
							machine-independent.
Fix problem with using branch operand reg. as temp. reg. when
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).
llvm-svn: 7385 
							
						 
						
							2003-07-29 19:37:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0c8de4bfca 
								
							 
						 
						
							
							
								
								Making this code const-correct would be a pain, so I'll hack it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7350 
							
						 
						
							2003-07-26 23:29:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								414832fea6 
								
							 
						 
						
							
							
								
								Const correctness fixes  
							
							 
							
							... 
							
							
							
							llvm-svn: 7349 
							
						 
						
							2003-07-26 23:24:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0ed86aca71 
								
							 
						 
						
							
							
								
								Be const correct  
							
							 
							
							... 
							
							
							
							llvm-svn: 7348 
							
						 
						
							2003-07-26 23:23:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1316383267 
								
							 
						 
						
							
							
								
								Hrm, another necesary one :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 7347 
							
						 
						
							2003-07-26 23:22:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								824398ec6d 
								
							 
						 
						
							
							
								
								Remove #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 7342 
							
						 
						
							2003-07-26 23:01:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								981e585021 
								
							 
						 
						
							
							
								
								Remove extraneous #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 7341 
							
						 
						
							2003-07-26 23:00:29 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								45766ab682 
								
							 
						 
						
							
							
								
								(1) Change the way unused regs. are marked and found to consider regType  
							
							 
							
							... 
							
							
							
							info (since multiple reg types may share the same reg class).
(2) Remove machine-specific regalloc. methods that are no longer needed.
    In particular, arguments and return value from a call do not need
    machine-specific code for allocation.
(3) Rename TargetRegInfo::getRegType variants to avoid unintentional
    overloading when an include file is omitted.
llvm-svn: 7329 
							
						 
						
							2003-07-25 21:06:09 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								abcd8d75ff 
								
							 
						 
						
							
							
								
								Remove unused field.  Change the way unused regs. are marked and  
							
							 
							
							... 
							
							
							
							found to consider regType info (since multiple reg types may share
the same reg class, e.g., single and double on Sparc).
llvm-svn: 7327 
							
						 
						
							2003-07-25 21:00:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								79f22fe02f 
								
							 
						 
						
							
							
								
								Remove unnecessary casts  
							
							 
							
							... 
							
							
							
							llvm-svn: 7250 
							
						 
						
							2003-07-23 15:17:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b976da9ecf 
								
							 
						 
						
							
							
								
								Random cleanups  
							
							 
							
							... 
							
							
							
							llvm-svn: 7247 
							
						 
						
							2003-07-23 14:59:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0470412961 
								
							 
						 
						
							
							
								
								Remove using decl  
							
							 
							
							... 
							
							
							
							llvm-svn: 7246 
							
						 
						
							2003-07-23 14:55:59 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e2e50f2880 
								
							 
						 
						
							
							
								
								Values stored in CallArgsDescriptor cannot be const.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7156 
							
						 
						
							2003-07-10 19:46:15 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								abf331db03 
								
							 
						 
						
							
							
								
								isMarkedForSpill() should be const.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7155 
							
						 
						
							2003-07-10 19:45:28 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								689adb19b0 
								
							 
						 
						
							
							
								
								Change interface to MachineInstr::substituteValue to specify more precisely  
							
							 
							
							... 
							
							
							
							which args can be substituted: defsOnly, defsAndUses or usesOnly.
llvm-svn: 7154 
							
						 
						
							2003-07-10 19:45:07 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								39587d6264 
								
							 
						 
						
							
							
								
								Print out all neighbors in interference graph, not just higher-numbered ones.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7153 
							
						 
						
							2003-07-10 19:43:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5224b19deb 
								
							 
						 
						
							
							
								
								Several fixes to handling of int CC register:  
							
							 
							
							... 
							
							
							
							(1) An int CC live range must be spilled if there are any interferences,
    even if no other "neighbour" in the interf. graph has been allocated
    that reg. yet.  This is actually true of any class with only one reg!
(2) SparcIntCCRegClass::colorIGNode sets the color even if the LR must
    be spilled so that the machine-independent spill code doesn't have to
    make the machine-dependent decision of which CC name to use based on
    operand type: %xcc or %icc.  (These are two halves of the same
register.)
(3) LR->isMarkedForSpill() is no longer the same as LR->hasColor().
    These should never have been the same, and this is necessary now for #2 .
(4) All RDCCR and WRCCR instructions are directly generated with the
    phony number for %ccr so that EmitAssembly/EmitBinary doesn't have to
    deal with this.
llvm-svn: 7152 
							
						 
						
							2003-07-10 19:42:55 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3bb921e8df 
								
							 
						 
						
							
							
								
								Choose register instead of immediate for ConstantExpr in ChooseRegOrImmed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7112 
							
						 
						
							2003-07-06 20:33:21 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1fce4cfa95 
								
							 
						 
						
							
							
								
								Minor beautification: fold a couple of lines of code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 7054 
							
						 
						
							2003-07-02 01:24:00 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								fa1dde06aa 
								
							 
						 
						
							
							
								
								A def. operand of a machine instruction may be an ordinary Value*,  
							
							 
							
							... 
							
							
							
							not just an Instruction*, at least in one unfortunate case:
the first operand to the va_arg instruction.
Modify ValueToDefVecMap to map from Value*, not Instruction*.
llvm-svn: 7052 
							
						 
						
							2003-07-02 01:16:01 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								3ef61afb76 
								
							 
						 
						
							
							
								
								Merged in autoconf branch.  This provides configuration via the autoconf  
							
							 
							
							... 
							
							
							
							system.
llvm-svn: 7014 
							
						 
						
							2003-06-30 21:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								52de05c6b3 
								
							 
						 
						
							
							
								
								Remove a ton of extraneous #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 6842 
							
						 
						
							2003-06-22 03:08:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								55491774bb 
								
							 
						 
						
							
							
								
								Actually, change it to use explicit new/delete, which is more likely to be  
							
							 
							
							... 
							
							
							
							optimized INTO an alloca
llvm-svn: 6727 
							
						 
						
							2003-06-16 22:29:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5b7e3cae42 
								
							 
						 
						
							
							
								
								Remove two using decls  
							
							 
							
							... 
							
							
							
							Remove usage of alloca
llvm-svn: 6725 
							
						 
						
							2003-06-16 22:18:28 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								7a719ed20c 
								
							 
						 
						
							
							
								
								Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",  
							
							 
							
							... 
							
							
							
							so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723 
							
						 
						
							2003-06-16 21:54:01 +00:00  
						
					 
				
					
						
							
							
								 
								John Criswell
							
						 
						
							 
							
							
							
							
								
							
							
								cfac736363 
								
							 
						 
						
							
							
								
								Included assert.h so that the code compiles under newer versions of GCC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6682 
							
						 
						
							2003-06-11 14:01:36 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								c40f66c928 
								
							 
						 
						
							
							
								
								add some comments  
							
							 
							
							... 
							
							
							
							add a function ModuloScheduling::dumpFinalSchedule() to print out final schedule
llvm-svn: 6677 
							
						 
						
							2003-06-10 20:04:30 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								f6b88e55ed 
								
							 
						 
						
							
							
								
								add an brief instruction what this pass is  
							
							 
							
							... 
							
							
							
							llvm-svn: 6676 
							
						 
						
							2003-06-10 20:03:39 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								d2656536f5 
								
							 
						 
						
							
							
								
								a simple introduction to this pass  
							
							 
							
							... 
							
							
							
							llvm-svn: 6675 
							
						 
						
							2003-06-10 20:02:16 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								9766f8c3a2 
								
							 
						 
						
							
							
								
								cleaned code  
							
							 
							
							... 
							
							
							
							add some comments
llvm-svn: 6674 
							
						 
						
							2003-06-10 19:09:00 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								2ee8c115d8 
								
							 
						 
						
							
							
								
								delete useless functions  
							
							 
							
							... 
							
							
							
							add comment
llvm-svn: 6673 
							
						 
						
							2003-06-08 23:16:07 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								1ecd0e0228 
								
							 
						 
						
							
							
								
								change DEBUG  to DEBUG_PRINT  
							
							 
							
							... 
							
							
							
							llvm-svn: 6672 
							
						 
						
							2003-06-08 20:40:47 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								366494ab0d 
								
							 
						 
						
							
							
								
								Do not hastily change the Opcode from 'r' to 'i' type if we're not actually  
							
							 
							
							... 
							
							
							
							SETTING the operand to be an immediate or have verified that one of the operands
is really a SignExtended or Unextended immediate value already, which warrants
an 'i' opcode.
llvm-svn: 6662 
							
						 
						
							2003-06-07 02:34:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a7c5e0fba3 
								
							 
						 
						
							
							
								
								Fix bug: Jello/2003-06-04-bzip2-bug.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 6624 
							
						 
						
							2003-06-05 17:15:04 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								4e7bad01ff 
								
							 
						 
						
							
							
								
								I have finally seen the light. The code to change the opcode must live higher in  
							
							 
							
							... 
							
							
							
							the loop, and in both cases. In the first case, it is a VReg that is a constant
so it may be actually converted to a constant. In the second case, it is already
a constant, but then if it doesn't change its type (e.g. to become a register
and have the value loaded from memory if it is too large to live in its
instruction field), we must change the opcode BEFORE the 'continue', otherwise
we miss the opportunity.
llvm-svn: 6602 
							
						 
						
							2003-06-04 04:54:06 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								a6c3f896da 
								
							 
						 
						
							
							
								
								Pass through the emitConstantPool() call to the real emitter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6590 
							
						 
						
							2003-06-03 20:00:49 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								0cf667165e 
								
							 
						 
						
							
							
								
								Moved code to modify the opcode from 'reg' to 'imm' form to a more logical place.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6563 
							
						 
						
							2003-06-03 03:18:20 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								e7021ad033 
								
							 
						 
						
							
							
								
								Moved FInfo.cpp to lib/Target/Sparc as it is Sparc-specific.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6554 
							
						 
						
							2003-06-02 23:27:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								17776f432e 
								
							 
						 
						
							
							
								
								Minor cleanups.  
							
							 
							
							... 
							
							
							
							This pass should be moved to lib/Target/Sparc since it's sparc specific
It also needs a file comment.
llvm-svn: 6553 
							
						 
						
							2003-06-02 22:57:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								396680793c 
								
							 
						 
						
							
							
								
								Remove usage of noncopyable classes to clean up doxygen output.  
							
							 
							
							... 
							
							
							
							In particular these classes are the last that link the noncopyable classes
with the hash_map, vector, and list classes.
llvm-svn: 6552 
							
						 
						
							2003-06-02 22:45:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a0a3ef8d21 
								
							 
						 
						
							
							
								
								Add #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 6550 
							
						 
						
							2003-06-02 22:05:13 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								155bdf6993 
								
							 
						 
						
							
							
								
								Removed a useless ofstream.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6547 
							
						 
						
							2003-06-02 20:49:09 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								8dfdb0f68e 
								
							 
						 
						
							
							
								
								compiled with the new SchedGraphCommon  
							
							 
							
							... 
							
							
							
							llvm-svn: 6545 
							
						 
						
							2003-06-02 17:48:56 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								6fd0681010 
								
							 
						 
						
							
							
								
								Remove spurious assert()  
							
							 
							
							... 
							
							
							
							llvm-svn: 6529 
							
						 
						
							2003-06-02 04:10:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0c1475caf0 
								
							 
						 
						
							
							
								
								Changes to be compatible with MachineCodeEmitter.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 6515 
							
						 
						
							2003-06-01 23:22:11 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								24ce4d8eb8 
								
							 
						 
						
							
							
								
								Minor changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6470 
							
						 
						
							2003-05-31 07:41:54 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ad83684c77 
								
							 
						 
						
							
							
								
								Added MachineCodeForInstruction object as an argument to  
							
							 
							
							... 
							
							
							
							TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.
llvm-svn: 6469 
							
						 
						
							2003-05-31 07:41:24 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c468882155 
								
							 
						 
						
							
							
								
								Allow explicit physical registers for implicit operands.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6468 
							
						 
						
							2003-05-31 07:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								465f9b6738 
								
							 
						 
						
							
							
								
								Changes to allow explicit physical register arguments that have been  
							
							 
							
							... 
							
							
							
							preallocated.  While reg-to-reg dependences were already handled, this
change required new code for adding edges to/from call instructions.
This was part of the extensive changes to the way code generation occurs
for function call arguments and return values.
See log for CodeGen/PhyRegAlloc.cpp.
llvm-svn: 6467 
							
						 
						
							2003-05-31 07:37:05 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								a83804a29a 
								
							 
						 
						
							
							
								
								Extensive changes to the way code generation occurs for function  
							
							 
							
							... 
							
							
							
							call arguments and return values:
Now all copy operations before and after a call are generated during
selection instead of during register allocation.
The values are copied to virtual registers (or to the stack), but
in the former case these operands are marked with the correct physical
registers according to the calling convention.
Although this complicates scheduling and does not work well with
live range analysis, it simplifies the machine-dependent part of
register allocation.
llvm-svn: 6465 
							
						 
						
							2003-05-31 07:32:01 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								736e6172dc 
								
							 
						 
						
							
							
								
								When converting virtual registers to immediate constants, change the opcode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6452 
							
						 
						
							2003-05-30 20:36:27 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								94908b010e 
								
							 
						 
						
							
							
								
								Added saveBBreferences() for BasicBlock resolution.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6451 
							
						 
						
							2003-05-30 20:32:45 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								856ee9154f 
								
							 
						 
						
							
							
								
								so far everything compiles  
							
							 
							
							... 
							
							
							
							llvm-svn: 6423 
							
						 
						
							2003-05-30 00:17:09 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								df88104198 
								
							 
						 
						
							
							
								
								Correctly write out binary data as chars, before they're cast to ints.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6385 
							
						 
						
							2003-05-28 18:27:19 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								cbd4678663 
								
							 
						 
						
							
							
								
								Added a debugging code emitter that prints code to a file, debug to std::cerr,  
							
							 
							
							... 
							
							
							
							and passes the real code to a memory-outputting code emitter. This may be
removed at a later point in development.
llvm-svn: 6379 
							
						 
						
							2003-05-27 22:43:19 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7366fa1aa6 
								
							 
						 
						
							
							
								
								(1) Added special register class containing (for now) %fsr.  
							
							 
							
							... 
							
							
							
							Fixed spilling of %fcc[0-3] which are part of %fsr.
(2) Moved some machine-independent reg-class code to class TargetRegInfo
    from SparcReg{Class,}Info.
(3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
    and related functions and flags.  Fixed several bugs where only
    "isDef" was being checked, not "isDefAndUse".
llvm-svn: 6341 
							
						 
						
							2003-05-27 00:05:23 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7ca74ef252 
								
							 
						 
						
							
							
								
								Cleaned up code layout. No functional changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6304 
							
						 
						
							2003-05-22 21:49:18 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								b674a1b95b 
								
							 
						 
						
							
							
								
								Kill `using' directives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6301 
							
						 
						
							2003-05-22 21:24:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1103e8349d 
								
							 
						 
						
							
							
								
								Use a kill, not a dead definition, update comment  
							
							 
							
							... 
							
							
							
							llvm-svn: 6131 
							
						 
						
							2003-05-12 17:37:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								51ae817fd6 
								
							 
						 
						
							
							
								
								* Keep LiveVariable information more up-to-date and consistent  
							
							 
							
							... 
							
							
							
							* *** Finally mark values that are inputs to PHIs as killed when appropriate.
   This should make the generated code quite a bit better.  For example, the
   local-ra will not have to spill PHI inputs at the end of predecessor BB's
   anymore.
llvm-svn: 6117 
							
						 
						
							2003-05-12 14:28:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2e50ac75a0 
								
							 
						 
						
							
							
								
								Fix bug where we could iterate off the end of a basic block  
							
							 
							
							... 
							
							
							
							llvm-svn: 6116 
							
						 
						
							2003-05-12 14:26:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								584bae4733 
								
							 
						 
						
							
							
								
								* Keep the BBMap around as long as the pass is live  
							
							 
							
							... 
							
							
							
							* Change getVarInfo to take real virtual register numbers and offset them
  itself.  This has caused me so much grief, it's not even funny.
llvm-svn: 6115 
							
						 
						
							2003-05-12 14:24:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bd854dafec 
								
							 
						 
						
							
							
								
								Fix N^2 algorithm  
							
							 
							
							... 
							
							
							
							llvm-svn: 6112 
							
						 
						
							2003-05-12 04:08:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								00ee7cfa83 
								
							 
						 
						
							
							
								
								* Fix several comments  
							
							 
							
							... 
							
							
							
							* Update LiveVar info better, fixing bug: Jello/2003-05-11-PHIRegAllocBug.ll
llvm-svn: 6110 
							
						 
						
							2003-05-12 03:55:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5a78ee85c6 
								
							 
						 
						
							
							
								
								Fix tab infestation!  
							
							 
							
							... 
							
							
							
							llvm-svn: 6109 
							
						 
						
							2003-05-12 03:54:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2274c71150 
								
							 
						 
						
							
							
								
								Allow const functions  
							
							 
							
							... 
							
							
							
							llvm-svn: 6056 
							
						 
						
							2003-05-09 03:27:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c9a4f4c6b4 
								
							 
						 
						
							
							
								
								Add methods for stub function generation  
							
							 
							
							... 
							
							
							
							llvm-svn: 6054 
							
						 
						
							2003-05-08 21:54:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5ab42e5739 
								
							 
						 
						
							
							
								
								Add a vector to keep track of which registers are allocatable. Remove FIXMEs  
							
							 
							
							... 
							
							
							
							llvm-svn: 6015 
							
						 
						
							2003-05-07 20:08:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9eb2172176 
								
							 
						 
						
							
							
								
								Re-add gross hack, it's still necessary.  :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 6012 
							
						 
						
							2003-05-06 21:44:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								824698b891 
								
							 
						 
						
							
							
								
								Remove hideously nasty hack  
							
							 
							
							... 
							
							
							
							llvm-svn: 6011 
							
						 
						
							2003-05-06 21:32:39 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								e842da3dcc 
								
							 
						 
						
							
							
								
								Debug output should go to cerr, not cout, because that's where bytecode goes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 6002 
							
						 
						
							2003-05-04 22:51:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f22d1f5912 
								
							 
						 
						
							
							
								
								Fix a bug which occurred with empty basic blocks  
							
							 
							
							... 
							
							
							
							llvm-svn: 5982 
							
						 
						
							2003-05-02 18:44:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f641fd08bc 
								
							 
						 
						
							
							
								
								Minor cleanup  
							
							 
							
							... 
							
							
							
							llvm-svn: 5976 
							
						 
						
							2003-05-01 21:18:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6ee2cf5d89 
								
							 
						 
						
							
							
								
								Remove unneccesary &*  
							
							 
							
							... 
							
							
							
							llvm-svn: 5871 
							
						 
						
							2003-04-23 16:36:11 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								3b78995848 
								
							 
						 
						
							
							
								
								Just some code beautification changes I had sitting around in my tree.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5859 
							
						 
						
							2003-04-22 23:00:08 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								a45606276d 
								
							 
						 
						
							
							
								
								Fixed compilation errors, command-line argument declarations, cleaned up code to  
							
							 
							
							... 
							
							
							
							look nicer and removed useless stuff.
Also renamed a few variables, moved them into namespaces, converted outputting
to a file into a print to std::cerr with a DEBUG() guard, as all passes should
do anyway.
No functional changes have been made. However, this code now compiles.
llvm-svn: 5769 
							
						 
						
							2003-04-10 19:19:23 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								218a732724 
								
							 
						 
						
							
							
								
								Made the code readable:  
							
							 
							
							... 
							
							
							
							* Lines must be wrapped at 80 chars. This is a hard limit.
* Consistent style on functions, braces, if, for, etc. Code must be readable.
No functional changes have been made, even though I added a new typedef.
llvm-svn: 5768 
							
						 
						
							2003-04-09 21:51:34 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								b250dc6909 
								
							 
						 
						
							
							
								
								change the include file names and some class names to make it compile  
							
							 
							
							... 
							
							
							
							llvm-svn: 5764 
							
						 
						
							2003-04-06 23:56:19 +00:00  
						
					 
				
					
						
							
							
								 
								Guochun Shi
							
						 
						
							 
							
							
							
							
								
							
							
								45d8f3279e 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 5755 
							
						 
						
							2003-03-27 17:57:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eb45c982ae 
								
							 
						 
						
							
							
								
								Print machine frame objects with the frame offset intrinsic to the machine  
							
							 
							
							... 
							
							
							
							llvm-svn: 5329 
							
						 
						
							2003-01-16 18:35:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								176866caed 
								
							 
						 
						
							
							
								
								Fix problems with empty basic blocks  
							
							 
							
							... 
							
							
							
							llvm-svn: 5326 
							
						 
						
							2003-01-16 18:06:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c52c791806 
								
							 
						 
						
							
							
								
								Arg, fix bugs in previous checkin...  
							
							 
							
							... 
							
							
							
							llvm-svn: 5322 
							
						 
						
							2003-01-16 02:24:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								910ee768d0 
								
							 
						 
						
							
							
								
								Add assertion  
							
							 
							
							... 
							
							
							
							llvm-svn: 5321 
							
						 
						
							2003-01-16 02:22:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								86ee825bce 
								
							 
						 
						
							
							
								
								* Insert prolog/epilog code before rewriting indexes  
							
							 
							
							... 
							
							
							
							* Fix calculation of frame offsets when there is an offset.
llvm-svn: 5318 
							
						 
						
							2003-01-15 22:52:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dea36ca100 
								
							 
						 
						
							
							
								
								Move sparc specific code into the Sparc backend  
							
							 
							
							... 
							
							
							
							llvm-svn: 5317 
							
						 
						
							2003-01-15 21:36:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1ff57d914c 
								
							 
						 
						
							
							
								
								Adjust to new interfaces  
							
							 
							
							... 
							
							
							
							llvm-svn: 5314 
							
						 
						
							2003-01-15 21:14:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e46165fcf0 
								
							 
						 
						
							
							
								
								Move headers around  
							
							 
							
							... 
							
							
							
							llvm-svn: 5312 
							
						 
						
							2003-01-15 21:02:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								14802a539d 
								
							 
						 
						
							
							
								
								Header is moved into local directory  
							
							 
							
							... 
							
							
							
							llvm-svn: 5311 
							
						 
						
							2003-01-15 21:00:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f738161ae 
								
							 
						 
						
							
							
								
								Fix bug in previous checkin  
							
							 
							
							... 
							
							
							
							llvm-svn: 5310 
							
						 
						
							2003-01-15 20:32:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c75dc4856e 
								
							 
						 
						
							
							
								
								Add new method  
							
							 
							
							... 
							
							
							
							llvm-svn: 5309 
							
						 
						
							2003-01-15 20:28:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a23969b669 
								
							 
						 
						
							
							
								
								#include RegClass.h explicitly  
							
							 
							
							... 
							
							
							
							llvm-svn: 5307 
							
						 
						
							2003-01-15 19:57:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								19a7cb2240 
								
							 
						 
						
							
							
								
								Remvoe dependency on RegClass.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 5306 
							
						 
						
							2003-01-15 19:56:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d840ccd2e0 
								
							 
						 
						
							
							
								
								Prune #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 5303 
							
						 
						
							2003-01-15 19:48:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								46d4d231c5 
								
							 
						 
						
							
							
								
								Minor changes  
							
							 
							
							... 
							
							
							
							llvm-svn: 5302 
							
						 
						
							2003-01-15 19:47:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5da071b265 
								
							 
						 
						
							
							
								
								Remove obsolete ctor  
							
							 
							
							... 
							
							
							
							llvm-svn: 5301 
							
						 
						
							2003-01-15 19:47:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4f7088f6a2 
								
							 
						 
						
							
							
								
								Remove dead code  
							
							 
							
							... 
							
							
							
							llvm-svn: 5298 
							
						 
						
							2003-01-15 19:22:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8128936c33 
								
							 
						 
						
							
							
								
								Use buildmi not MI ctor directly  
							
							 
							
							... 
							
							
							
							llvm-svn: 5293 
							
						 
						
							2003-01-15 18:08:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								24c1d5e551 
								
							 
						 
						
							
							
								
								Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> llvm/CodeGen/FunctionLiveVarInfo.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 5284 
							
						 
						
							2003-01-14 23:05:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								de1d729747 
								
							 
						 
						
							
							
								
								Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 5282 
							
						 
						
							2003-01-14 22:56:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b4d58d7f9e 
								
							 
						 
						
							
							
								
								Rename MachineInstrInfo -> TargetInstrInfo  
							
							 
							
							... 
							
							
							
							llvm-svn: 5272 
							
						 
						
							2003-01-14 22:00:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cab0b442f2 
								
							 
						 
						
							
							
								
								New files  
							
							 
							
							... 
							
							
							
							llvm-svn: 5262 
							
						 
						
							2003-01-13 20:01:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cbedb8b400 
								
							 
						 
						
							
							
								
								* Use the PHI Elimination pass  
							
							 
							
							... 
							
							
							
							llvm-svn: 5220 
							
						 
						
							2003-01-13 00:26:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bfa5319eb2 
								
							 
						 
						
							
							
								
								* Convert to use LiveVariable analysis  
							
							 
							
							... 
							
							
							
							* Convert to use PHIElimination pass
* Don't spill values which have just been reloaded (big win reducing spills)
* Add experimental support for eliminating spills before TwoAddress
  instructions.  It currently is broken so it is #ifdef'd out.
* Use new "is terminator" flag on instructions instead of looking for
  branches and returns explicitly.
llvm-svn: 5219 
							
						 
						
							2003-01-13 00:25:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8d2a07ab2f 
								
							 
						 
						
							
							
								
								Convert to MachineFunctionPass  
							
							 
							
							... 
							
							
							
							llvm-svn: 5218 
							
						 
						
							2003-01-13 00:23:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a2ad874c95 
								
							 
						 
						
							
							
								
								Add support for 3 new forms of MachineOperand  
							
							 
							
							... 
							
							
							
							llvm-svn: 5217 
							
						 
						
							2003-01-13 00:23:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c6807e8f5d 
								
							 
						 
						
							
							
								
								Add support for constant pool  
							
							 
							
							... 
							
							
							
							Add helper methods for MachineFrameInfo
llvm-svn: 5216 
							
						 
						
							2003-01-13 00:23:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6178ee9b36 
								
							 
						 
						
							
							
								
								Add support for global address by string and constant pool values  
							
							 
							
							... 
							
							
							
							llvm-svn: 5215 
							
						 
						
							2003-01-13 00:22:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f9781b59ab 
								
							 
						 
						
							
							
								
								More renamings of Target/Machine*Info to Target/Target*Info  
							
							 
							
							... 
							
							
							
							llvm-svn: 5204 
							
						 
						
							2002-12-29 03:13:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								42d59219c7 
								
							 
						 
						
							
							
								
								Rename MachineOptInfo to TargetoptInfo  
							
							 
							
							... 
							
							
							
							Rename MachineCacheInfo to TargetCacheInfo
llvm-svn: 5203 
							
						 
						
							2002-12-29 02:50:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca4362fee7 
								
							 
						 
						
							
							
								
								Rename FunctionFrameInfo to MachineFrameInfo  
							
							 
							
							... 
							
							
							
							llvm-svn: 5200 
							
						 
						
							2002-12-28 21:08:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								871e591e34 
								
							 
						 
						
							
							
								
								Rename MachineFrameInfo to TargetFrameInfo.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 5199 
							
						 
						
							2002-12-28 21:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c8b36e6362 
								
							 
						 
						
							
							
								
								Initial checkin of Prolog/Epilog code inserter, which is an important part  
							
							 
							
							... 
							
							
							
							of the abstract frame representation
llvm-svn: 5198 
							
						 
						
							2002-12-28 20:43:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bf9d12ac8b 
								
							 
						 
						
							
							
								
								* Convert to be a MachineFunctionPass instance  
							
							 
							
							... 
							
							
							
							* Use new FunctionFrameInfo object to manage stack slots instead of doing
  it directly
* Adjust to new MRegisterInfo API
* Don't take a TM as a ctor argument
* Don't keep track of which callee saved registers are modified
* Don't emit prolog/epilog code or spill/restore code for callee saved regs
* Use new allocation_order_begin/end iterators to simplify dramatically the
  logic for picking registers to allocate
* Machine PHI nodes can no longer contain constant arguments
* Use a bitvector to keep track of registers used instead of a set
* Fix problem where explicitly referenced registers would be added to
  regsused set and never removed
llvm-svn: 5196 
							
						 
						
							2002-12-28 20:42:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b4e4111d75 
								
							 
						 
						
							
							
								
								* Convert to be a MachineFunctionPass instance  
							
							 
							
							... 
							
							
							
							* Use new FunctionFrameInfo object to manage stack slots instead of doing
  it directly
* Adjust to new MRegisterInfo API
* Don't take a TM as a ctor argument
* Don't keep track of which callee saved registers are modified
* Don't emit prolog/epilog code or spill/restore code for callee saved regs
* Use new allocation_order_begin/end iterators to simplify dramatically the
  logic for picking registers to allocate
* Machine PHI nodes can no longer contain constant arguments
llvm-svn: 5195 
							
						 
						
							2002-12-28 20:40:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fd1ecadb1d 
								
							 
						 
						
							
							
								
								* Add printing support for FrameIndex operands  
							
							 
							
							... 
							
							
							
							llvm-svn: 5194 
							
						 
						
							2002-12-28 20:37:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								32525647e1 
								
							 
						 
						
							
							
								
								* A bunch of functionality and data was removed from MachineFunction and put  
							
							 
							
							... 
							
							
							
							into a new MachineFunctionInfo class
* Implement new FunctionFrameInfo class
llvm-svn: 5193 
							
						 
						
							2002-12-28 20:37:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0733616ec7 
								
							 
						 
						
							
							
								
								Frame info moved out of MachineFunction into a seperate object  
							
							 
							
							... 
							
							
							
							llvm-svn: 5192 
							
						 
						
							2002-12-28 20:35:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								42714ec1bd 
								
							 
						 
						
							
							
								
								Adjust to simpler spill interface  
							
							 
							
							... 
							
							
							
							Only spill and reload caller saved registers that are actually modified.
llvm-svn: 5145 
							
						 
						
							2002-12-25 05:05:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ee73450749 
								
							 
						 
						
							
							
								
								Adjustments to work with the simpler spill interface  
							
							 
							
							... 
							
							
							
							llvm-svn: 5144 
							
						 
						
							2002-12-25 05:04:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								448fb45b2d 
								
							 
						 
						
							
							
								
								Remove dependency on SSARegMap.h by MachineFunction.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 5143 
							
						 
						
							2002-12-25 05:03:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								763729c5cd 
								
							 
						 
						
							
							
								
								Substantial fixes to live range handling, fixing several problems, getting  
							
							 
							
							... 
							
							
							
							strtol to not miscompile, and fixing bug: 2002-12-23-LocalRAProblem.llx
llvm-svn: 5132 
							
						 
						
							2002-12-24 00:04:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								095eac8109 
								
							 
						 
						
							
							
								
								Fix compilation on GCC 2.96  
							
							 
							
							... 
							
							
							
							llvm-svn: 5113 
							
						 
						
							2002-12-23 23:44:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d4627093de 
								
							 
						 
						
							
							
								
								* Fix several register aliasing bugs  
							
							 
							
							... 
							
							
							
							* Add a new option to eliminate spilling of registers that are only used
  within a basic block.
llvm-svn: 5106 
							
						 
						
							2002-12-18 08:14:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dc451c6d27 
								
							 
						 
						
							
							
								
								Implicit defs/uses list may be empty.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5103 
							
						 
						
							2002-12-18 01:11:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ac5f3b3ed3 
								
							 
						 
						
							
							
								
								Use new reginfo interface  
							
							 
							
							... 
							
							
							
							llvm-svn: 5099 
							
						 
						
							2002-12-17 04:19:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0ea32b8dd3 
								
							 
						 
						
							
							
								
								Add prolog/epilog spills/reloads to counters  
							
							 
							
							... 
							
							
							
							Move X86 specific alignment gunk to X86 files
llvm-svn: 5096 
							
						 
						
							2002-12-17 03:16:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4664bd5798 
								
							 
						 
						
							
							
								
								Fix many bugs, regallocator now saves callee-save registers instead of target  
							
							 
							
							... 
							
							
							
							llvm-svn: 5093 
							
						 
						
							2002-12-17 02:50:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0129b86d55 
								
							 
						 
						
							
							
								
								* Fix a gross X86 hack that was intended to avoid allocating SP and BP  
							
							 
							
							... 
							
							
							
							* Implement register alias set support
llvm-svn: 5082 
							
						 
						
							2002-12-16 17:44:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1d84f0a461 
								
							 
						 
						
							
							
								
								Keep the stack frame aligned.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5081 
							
						 
						
							2002-12-16 17:42:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								101b8cd9b6 
								
							 
						 
						
							
							
								
								Initial checkin of "local" register allocator.  Bugs are still present.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5078 
							
						 
						
							2002-12-16 16:15:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c63d63a7c7 
								
							 
						 
						
							
							
								
								Rename createSimpleX86RegisterAllocator to createSimpleRegisterAllocator.  
							
							 
							
							... 
							
							
							
							Remvoe some dead code
llvm-svn: 5070 
							
						 
						
							2002-12-16 14:37:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bc1e6700eb 
								
							 
						 
						
							
							
								
								Some simpliciations to the spill/reload interface  
							
							 
							
							... 
							
							
							
							llvm-svn: 5067 
							
						 
						
							2002-12-15 23:01:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4e560ee65b 
								
							 
						 
						
							
							
								
								Simplify PHI node elimination significantly by doing it as a prepass to  
							
							 
							
							... 
							
							
							
							register allocation
llvm-svn: 5066 
							
						 
						
							2002-12-15 22:39:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								292083aaf5 
								
							 
						 
						
							
							
								
								Variety of small or trivial simplifications to the code, completely eliminated  
							
							 
							
							... 
							
							
							
							the dependence on PhysRegClassMap
llvm-svn: 5064 
							
						 
						
							2002-12-15 22:19:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2af545d034 
								
							 
						 
						
							
							
								
								Remove unused savePhysRegToStack method  
							
							 
							
							... 
							
							
							
							llvm-svn: 5061 
							
						 
						
							2002-12-15 21:33:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ed594b6b20 
								
							 
						 
						
							
							
								
								Localize a map, remove another  
							
							 
							
							... 
							
							
							
							llvm-svn: 5060 
							
						 
						
							2002-12-15 21:24:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1499e5a92c 
								
							 
						 
						
							
							
								
								Give simple reg allocator a nice Pass Name  
							
							 
							
							... 
							
							
							
							llvm-svn: 5058 
							
						 
						
							2002-12-15 21:13:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2979a85984 
								
							 
						 
						
							
							
								
								Add a big assert making sure 2 address instructions are formed right  
							
							 
							
							... 
							
							
							
							llvm-svn: 5057 
							
						 
						
							2002-12-15 21:02:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								02e835bf9a 
								
							 
						 
						
							
							
								
								Fix a problem that occurs when PHI nodes have multiple entries for the same predecessor  
							
							 
							
							... 
							
							
							
							llvm-svn: 5055 
							
						 
						
							2002-12-15 20:48:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dfa238f665 
								
							 
						 
						
							
							
								
								Grab bag of minor cleanups.  Export some statistics about the number of  
							
							 
							
							... 
							
							
							
							spills and reloads emitted
llvm-svn: 5054 
							
						 
						
							2002-12-15 20:36:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f895418b47 
								
							 
						 
						
							
							
								
								Implement printing of MBB arguments  
							
							 
							
							... 
							
							
							
							llvm-svn: 5053 
							
						 
						
							2002-12-15 20:35:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e2533336f5 
								
							 
						 
						
							
							
								
								Simplify interfaces used by regalloc to insert code  
							
							 
							
							... 
							
							
							
							llvm-svn: 5052 
							
						 
						
							2002-12-15 20:06:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c1c7cc290f 
								
							 
						 
						
							
							
								
								* Simplify code a bit by breaking the PHI node handling stuff out into a seperate  
							
							 
							
							... 
							
							
							
							function from normal regalloc code
* Make the regalloc for a block a function instead of part of runOnMachineBB, which
  makes it easier to see what's going on in runOnMBB.
llvm-svn: 5051 
							
						 
						
							2002-12-15 19:51:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f2acd842b4 
								
							 
						 
						
							
							
								
								* Remove some unneccesary instance variables  
							
							 
							
							... 
							
							
							
							* Make allocateStackSpaceFor only allocate the right amount of space
llvm-svn: 5048 
							
						 
						
							2002-12-15 19:07:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b772cd05c5 
								
							 
						 
						
							
							
								
								pull inverse reg class mapping into a class that is sharable and out of the  
							
							 
							
							... 
							
							
							
							target register description classes.
llvm-svn: 5045 
							
						 
						
							2002-12-15 18:38:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cf1955cb16 
								
							 
						 
						
							
							
								
								Prune #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 5044 
							
						 
						
							2002-12-15 18:19:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1af3af463a 
								
							 
						 
						
							
							
								
								Remove extraneous #includes, perform FIXME  
							
							 
							
							... 
							
							
							
							llvm-svn: 5043 
							
						 
						
							2002-12-15 18:15:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								477af9d0fa 
								
							 
						 
						
							
							
								
								Fix borkness with not using MachineBasicBlocks in PHI nodes  
							
							 
							
							... 
							
							
							
							llvm-svn: 5035 
							
						 
						
							2002-12-15 08:02:51 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								a1aa29b125 
								
							 
						 
						
							
							
								
								Fixed a bug where moves due to phis were being neglected.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5019 
							
						 
						
							2002-12-13 12:33:31 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								86ca8840a1 
								
							 
						 
						
							
							
								
								Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessor  
							
							 
							
							... 
							
							
							
							basic block, as there could be multiple.
llvm-svn: 5016 
							
						 
						
							2002-12-13 11:55:59 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								35a358d981 
								
							 
						 
						
							
							
								
								This should be more correct: invalidates physical registers that are used in  
							
							 
							
							... 
							
							
							
							an instruction to avoid using them to allocate to other virtual registers.
llvm-svn: 5013 
							
						 
						
							2002-12-13 11:33:22 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								89ff3fbcd6 
								
							 
						 
						
							
							
								
								Fixed bug with running out of registers. Also, reinstated namespace which  
							
							 
							
							... 
							
							
							
							disappeared during the last checkin.
llvm-svn: 5007 
							
						 
						
							2002-12-13 10:42:31 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								a739167305 
								
							 
						 
						
							
							
								
								This should handle register allocating PHI nodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 5002 
							
						 
						
							2002-12-13 09:54:36 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								4ef74c8079 
								
							 
						 
						
							
							
								
								Start allocating stack space at [ebp-4] to not overwrite the return address.  
							
							 
							
							... 
							
							
							
							Also make all loads & stores 4-byte aligned for performance. ;)
llvm-svn: 4982 
							
						 
						
							2002-12-13 04:34:02 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								260dbc79fc 
								
							 
						 
						
							
							
								
								Take advantage of our knowledge of 2-address X86 instructions and  
							
							 
							
							... 
							
							
							
							register-allocated them appropriately.
llvm-svn: 4976 
							
						 
						
							2002-12-12 23:20:31 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								160a3da184 
								
							 
						 
						
							
							
								
								Added code generation for function prologues and epilogues.  
							
							 
							
							... 
							
							
							
							llvm-svn: 4930 
							
						 
						
							2002-12-04 23:58:08 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								dbb7b65bf3 
								
							 
						 
						
							
							
								
								Fun arithmetic with iterators aimed at fixing a bug: inserting instructions  
							
							 
							
							... 
							
							
							
							after the *current* instruction while keeping the iterator in the same
'logical' place.
llvm-svn: 4923 
							
						 
						
							2002-12-04 19:24:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								57f055f2f2 
								
							 
						 
						
							
							
								
								Print out direct global references  
							
							 
							
							... 
							
							
							
							llvm-svn: 4906 
							
						 
						
							2002-12-04 06:44:41 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								a8ad93221a 
								
							 
						 
						
							
							
								
								This should fix the bug seen with some registers not being allocated  
							
							 
							
							... 
							
							
							
							correctly: skipping instructions by incorrectly incrementing the pointer.
Also adds support for building a reg-to-regclass map, and splits the function
for saving register to stack into two, one suitable for virtual registers
(which also assigns it a physical register) and one for simply storing back
physical registers.
llvm-svn: 4898 
							
						 
						
							2002-12-03 23:15:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bddc6dc5ad 
								
							 
						 
						
							
							
								
								Checkin debug implementation of MCE  
							
							 
							
							... 
							
							
							
							llvm-svn: 4893 
							
						 
						
							2002-12-03 20:56:42 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								2e035d64d1 
								
							 
						 
						
							
							
								
								* Abstracted out stack space allocation into its own function  
							
							 
							
							... 
							
							
							
							* Added saving of register values to the stack
llvm-svn: 4858 
							
						 
						
							2002-12-02 21:11:58 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								60286d0916 
								
							 
						 
						
							
							
								
								A simple (spilling) register allocator.  
							
							 
							
							... 
							
							
							
							llvm-svn: 4828 
							
						 
						
							2002-11-22 22:44:32 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								d5b111a10c 
								
							 
						 
						
							
							
								
								Initialize the SSARegMap.  
							
							 
							
							... 
							
							
							
							llvm-svn: 4782 
							
						 
						
							2002-11-20 18:55:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d8ea18b695 
								
							 
						 
						
							
							
								
								Print is const!  
							
							 
							
							... 
							
							
							
							llvm-svn: 4737 
							
						 
						
							2002-11-17 23:22:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								17ec8a8dd0 
								
							 
						 
						
							
							
								
								Remove only uses of markDef/markDefAndUse methods  
							
							 
							
							... 
							
							
							
							llvm-svn: 4719 
							
						 
						
							2002-11-17 22:14:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a2620ac156 
								
							 
						 
						
							
							
								
								Fix warning  
							
							 
							
							... 
							
							
							
							llvm-svn: 4649 
							
						 
						
							2002-11-09 00:49:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								36051c0c56 
								
							 
						 
						
							
							
								
								Move function to cpp file from header  
							
							 
							
							... 
							
							
							
							llvm-svn: 4510 
							
						 
						
							2002-11-02 22:07:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dcf31cec85 
								
							 
						 
						
							
							
								
								New iostream definitions  
							
							 
							
							... 
							
							
							
							llvm-svn: 4482 
							
						 
						
							2002-11-01 16:46:05 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8c7b93f7e3 
								
							 
						 
						
							
							
								
								Restore support for indirect function calls (which briefly wasn't working  
							
							 
							
							... 
							
							
							
							after I removed annotations on MachineInstr for the CallDescriptor).
llvm-svn: 4469 
							
						 
						
							2002-10-31 15:34:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c614a9931 
								
							 
						 
						
							
							
								
								Remove fixme  
							
							 
							
							... 
							
							
							
							llvm-svn: 4447 
							
						 
						
							2002-10-30 02:02:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ac6e97410b 
								
							 
						 
						
							
							
								
								Add special code to make printing SSA form machine instructions nicer  
							
							 
							
							... 
							
							
							
							llvm-svn: 4446 
							
						 
						
							2002-10-30 01:55:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4e9fb1f52e 
								
							 
						 
						
							
							
								
								Use MRegisterInfo, if available, to print symbolic register names  
							
							 
							
							... 
							
							
							
							llvm-svn: 4438 
							
						 
						
							2002-10-30 00:58:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								214808f8ac 
								
							 
						 
						
							
							
								
								Implement structured machine code printing  
							
							 
							
							... 
							
							
							
							llvm-svn: 4435 
							
						 
						
							2002-10-30 00:48:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								90e64905b9 
								
							 
						 
						
							
							
								
								Make argsize calculation stuff optional, so that Targets without FrameInfo  
							
							 
							
							... 
							
							
							
							objects yet don't die
llvm-svn: 4427 
							
						 
						
							2002-10-29 23:40:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								27ccb70df6 
								
							 
						 
						
							
							
								
								Implement autoinserting ctor  
							
							 
							
							... 
							
							
							
							llvm-svn: 4426 
							
						 
						
							2002-10-29 23:19:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bbd68ada1a 
								
							 
						 
						
							
							
								
								Rename annotation id  
							
							 
							
							... 
							
							
							
							llvm-svn: 4425 
							
						 
						
							2002-10-29 23:18:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f4e4ed7612 
								
							 
						 
						
							
							
								
								Merge with sparc backend  
							
							 
							
							... 
							
							
							
							llvm-svn: 4403 
							
						 
						
							2002-10-29 20:10:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8d3e9ab2cf 
								
							 
						 
						
							
							
								
								X86 merge is complete, eliminate unused code  
							
							 
							
							... 
							
							
							
							llvm-svn: 4400 
							
						 
						
							2002-10-29 20:07:16 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								a1b4f0f85e 
								
							 
						 
						
							
							
								
								Remove separate vector of implicit refs from MachineInstr, and  
							
							 
							
							... 
							
							
							
							instead record them as extra operands in the operands[] vector.
Also, move CallArgsDescriptor into this class instead of making it an
annotation on the machine instruction.
llvm-svn: 4399 
							
						 
						
							2002-10-29 19:41:18 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								db6596e551 
								
							 
						 
						
							
							
								
								Move CallArgsDescriptor into this class instead of making it an  
							
							 
							
							... 
							
							
							
							annotation on the machine instruction.
llvm-svn: 4398 
							
						 
						
							2002-10-29 19:38:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								07e26837a9 
								
							 
						 
						
							
							
								
								Move TargetInstrDescriptors extern to the one .cpp file that refers to it:  
							
							 
							
							... 
							
							
							
							MachineInstr.cpp
llvm-svn: 4392 
							
						 
						
							2002-10-29 17:40:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								660bf10981 
								
							 
						 
						
							
							
								
								Use higher level methods, don't use TargetInstrDescriptors directly!  
							
							 
							
							... 
							
							
							
							llvm-svn: 4389 
							
						 
						
							2002-10-29 17:35:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								50ef1010c0 
								
							 
						 
						
							
							
								
								Use higher level method  
							
							 
							
							... 
							
							
							
							llvm-svn: 4386 
							
						 
						
							2002-10-29 17:25:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								76014b97af 
								
							 
						 
						
							
							
								
								Remove #include, misleading comment, and a typedef used only once  
							
							 
							
							... 
							
							
							
							llvm-svn: 4383 
							
						 
						
							2002-10-29 17:08:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6d6d87f3f3 
								
							 
						 
						
							
							
								
								Inline typedef, eliminate unused method  
							
							 
							
							... 
							
							
							
							llvm-svn: 4382 
							
						 
						
							2002-10-29 17:03:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca0f818347 
								
							 
						 
						
							
							
								
								Remove long dead #if 0  
							
							 
							
							... 
							
							
							
							llvm-svn: 4381 
							
						 
						
							2002-10-29 17:00:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5abe44bb72 
								
							 
						 
						
							
							
								
								Add #includes that were eliminated from headers  
							
							 
							
							... 
							
							
							
							llvm-svn: 4380 
							
						 
						
							2002-10-29 16:51:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								189c099a7f 
								
							 
						 
						
							
							
								
								De-inline methods  
							
							 
							
							... 
							
							
							
							llvm-svn: 4379 
							
						 
						
							2002-10-29 16:50:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c9e9d2933d 
								
							 
						 
						
							
							
								
								Remove #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 4378 
							
						 
						
							2002-10-29 16:50:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9bda57b87 
								
							 
						 
						
							
							
								
								Remove unneeded #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 4377 
							
						 
						
							2002-10-29 16:50:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a13000449e 
								
							 
						 
						
							
							
								
								Remove forward decl  
							
							 
							
							... 
							
							
							
							llvm-svn: 4376 
							
						 
						
							2002-10-29 16:49:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7ecc7af4bd 
								
							 
						 
						
							
							
								
								Make assertIGNode be private to the InterferenceGraph.cpp file  
							
							 
							
							... 
							
							
							
							llvm-svn: 4375 
							
						 
						
							2002-10-29 16:42:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								820b037815 
								
							 
						 
						
							
							
								
								MachineInstrInfo no longer #includes this header, so we must  
							
							 
							
							... 
							
							
							
							llvm-svn: 4366 
							
						 
						
							2002-10-28 23:54:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5c7d638208 
								
							 
						 
						
							
							
								
								Remove all traces of the "Opcode Mask" field in the MachineInstr class  
							
							 
							
							... 
							
							
							
							llvm-svn: 4359 
							
						 
						
							2002-10-28 21:17:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bee314fc94 
								
							 
						 
						
							
							
								
								Remove more default arguments that are never used  
							
							 
							
							... 
							
							
							
							llvm-svn: 4358 
							
						 
						
							2002-10-28 21:02:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								307fb1a314 
								
							 
						 
						
							
							
								
								Remove default operands that are never used  
							
							 
							
							... 
							
							
							
							llvm-svn: 4357 
							
						 
						
							2002-10-28 20:59:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca4a9d20b8 
								
							 
						 
						
							
							
								
								* Make MachineOperand ctors private, so MachineOperand can only be created  
							
							 
							
							... 
							
							
							
							by MachineInstr.
* Add a bunch of new methods to allow incremental addition of operands to the
  machine instr instance.
llvm-svn: 4356 
							
						 
						
							2002-10-28 20:48:39 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								6be5e92526 
								
							 
						 
						
							
							
								
								Replaced uses of deprecated `MachineFunction::get(BasicBlock *BB)'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 4351 
							
						 
						
							2002-10-28 20:00:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								864d279667 
								
							 
						 
						
							
							
								
								Remove two arguments that are never specified  
							
							 
							
							... 
							
							
							
							llvm-svn: 4348 
							
						 
						
							2002-10-28 19:46:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1e39b5a27 
								
							 
						 
						
							
							
								
								Rename some regalloc fields  
							
							 
							
							... 
							
							
							
							llvm-svn: 4346 
							
						 
						
							2002-10-28 19:43:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c9bd2c38a8 
								
							 
						 
						
							
							
								
								Eliminate usage of MachineBasicBlock::get  
							
							 
							
							... 
							
							
							
							llvm-svn: 4344 
							
						 
						
							2002-10-28 19:22:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								76d59276af 
								
							 
						 
						
							
							
								
								Remove usage of MachineBasicBlock::get  
							
							 
							
							... 
							
							
							
							llvm-svn: 4342 
							
						 
						
							2002-10-28 19:01:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								967c38f4c5 
								
							 
						 
						
							
							
								
								Remove usage of MachineBasicBlock::get  
							
							 
							
							... 
							
							
							
							llvm-svn: 4341 
							
						 
						
							2002-10-28 18:50:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7421df92cb 
								
							 
						 
						
							
							
								
								Eliminate unneccesary use of MachineBasicBlock::get  
							
							 
							
							... 
							
							
							
							llvm-svn: 4339 
							
						 
						
							2002-10-28 06:01:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ba3a8060ff 
								
							 
						 
						
							
							
								
								s/method/function  
							
							 
							
							... 
							
							
							
							llvm-svn: 4338 
							
						 
						
							2002-10-28 05:58:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8c63b6897d 
								
							 
						 
						
							
							
								
								Change MachineBasicBlock's to not be Annotations, instead they are kept as  
							
							 
							
							... 
							
							
							
							part of a linked list tracked by MachineFunction.  MachineBasicBlock::get
is now linear time instead of constant time, and thus is deprecated!
llvm-svn: 4337 
							
						 
						
							2002-10-28 05:30:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								881d8b3410 
								
							 
						 
						
							
							
								
								Make Scheduling Class variables be 'unsigned' instead of 'int'  
							
							 
							
							... 
							
							
							
							llvm-svn: 4333 
							
						 
						
							2002-10-28 04:53:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6a30b02b1d 
								
							 
						 
						
							
							
								
								Rename the redundant MachineOperand::getOperandType() to MachineOperand::getType()  
							
							 
							
							... 
							
							
							
							llvm-svn: 4331 
							
						 
						
							2002-10-28 04:45:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								340bb96e64 
								
							 
						 
						
							
							
								
								Fairly major overhaul of MachineInstr & Operand classes  
							
							 
							
							... 
							
							
							
							- Inline methods that are mostly a single line anyway
  - Eliminate several methods that were never called
  - Group methods a bit more consistently
llvm-svn: 4329 
							
						 
						
							2002-10-28 04:24:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9668c8c8db 
								
							 
						 
						
							
							
								
								Add #includes now that MachineInstr.h doesn't include llvm/Target/MachineInstrInfo.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 4327 
							
						 
						
							2002-10-28 02:28:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								94a4f22573 
								
							 
						 
						
							
							
								
								Don't #include <Support/*>, #include "Support/*"  
							
							 
							
							... 
							
							
							
							llvm-svn: 4325 
							
						 
						
							2002-10-28 02:11:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2a3bd1c562 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 4323 
							
						 
						
							2002-10-28 02:01:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								658839bafd 
								
							 
						 
						
							
							
								
								MachineFunction now includes MachineBasicBlock so there is no need to  
							
							 
							
							... 
							
							
							
							reinclude it
llvm-svn: 4322 
							
						 
						
							2002-10-28 02:01:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8710aab04c 
								
							 
						 
						
							
							
								
								Rename MachineCodeForBasicBlock to MachineBasicBlock  
							
							 
							
							... 
							
							
							
							llvm-svn: 4318 
							
						 
						
							2002-10-28 01:41:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6fc3ca062d 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 4317 
							
						 
						
							2002-10-28 01:41:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9baa9ad7c7 
								
							 
						 
						
							
							
								
								Inline some methods from .cpp files into .h files, minor cleanups  
							
							 
							
							... 
							
							
							
							llvm-svn: 4313 
							
						 
						
							2002-10-28 01:21:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8494d08688 
								
							 
						 
						
							
							
								
								Minor cleanups  
							
							 
							
							... 
							
							
							
							llvm-svn: 4312 
							
						 
						
							2002-10-28 01:16:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6d8a6c645c 
								
							 
						 
						
							
							
								
								Move machine code generation/destruction passes out of Sparc.cpp because  
							
							 
							
							... 
							
							
							
							they are generic
llvm-svn: 4310 
							
						 
						
							2002-10-28 01:12:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f9df48d34c 
								
							 
						 
						
							
							
								
								Prune #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 4307 
							
						 
						
							2002-10-28 01:02:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9f99867c6c 
								
							 
						 
						
							
							
								
								Updates to match misha's changes  
							
							 
							
							... 
							
							
							
							llvm-svn: 4302 
							
						 
						
							2002-10-28 00:37:53 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								7ae7f84cf3 
								
							 
						 
						
							
							
								
								Changed `MachineCodeForMethod' to `MachineFunction'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 4301 
							
						 
						
							2002-10-28 00:28:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9e33759f88 
								
							 
						 
						
							
							
								
								Initial checkin of codegen infrastructure for LLVM-JIT  
							
							 
							
							... 
							
							
							
							llvm-svn: 4282 
							
						 
						
							2002-10-25 22:54:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e97144120d 
								
							 
						 
						
							
							
								
								Tell PassManager that this pass does not invalidate the CFG so that dominator  
							
							 
							
							... 
							
							
							
							information and Loop info will not have to be recomputed after this runs.
llvm-svn: 4269 
							
						 
						
							2002-10-23 03:30:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5ae3bd630d 
								
							 
						 
						
							
							
								
								Ensure definate initialization  
							
							 
							
							... 
							
							
							
							llvm-svn: 4263 
							
						 
						
							2002-10-22 23:34:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ce64eddb71 
								
							 
						 
						
							
							
								
								- Two minor improvements to the MachineInstr class to reduce footprint and  
							
							 
							
							... 
							
							
							
							overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a
    bitvector.  Sped up LLC a little less than 10% in a debug build!
llvm-svn: 4261 
							
						 
						
							2002-10-22 23:16:21 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f5492b0c5b 
								
							 
						 
						
							
							
								
								Significant improvement: GEP used by a load or store no longer generates  
							
							 
							
							... 
							
							
							
							a separate ADD; instead just use the indexed load/store instruction!
Also, a bug fix: folding a GEP with a leading non-zero index with
its predecessor was incorrect: now it only happens if the predecessor
is pointing to an indexable type (aka SequentialType).
llvm-svn: 4168 
							
						 
						
							2002-10-14 16:30:55 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9e5eb46362 
								
							 
						 
						
							
							
								
								Use vectors instead of hash_maps for issueGaps and conflictLists.  
							
							 
							
							... 
							
							
							
							These hash lookups were a major sink of time because they happen so often!
Also, add option to disable scheduling.
llvm-svn: 4138 
							
						 
						
							2002-10-13 00:40:37 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f8c6e3db55 
								
							 
						 
						
							
							
								
								Major bug fix: was not adding CD edges for RETURNs!  
							
							 
							
							... 
							
							
							
							llvm-svn: 4137 
							
						 
						
							2002-10-13 00:39:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3e54d6c3be 
								
							 
						 
						
							
							
								
								Major bug fix: spill code for an instruction in a delay slot was  
							
							 
							
							... 
							
							
							
							merrily being inserted before/after the instruction!
llvm-svn: 4116 
							
						 
						
							2002-10-11 16:12:40 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ffc9dd5c0d 
								
							 
						 
						
							
							
								
								Don't pad variables in stack slots for performance!  
							
							 
							
							... 
							
							
							
							llvm-svn: 4115 
							
						 
						
							2002-10-11 16:10:53 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								75b4a29613 
								
							 
						 
						
							
							
								
								Bug fix in folding getElementPtr instructions: don't fold one into  
							
							 
							
							... 
							
							
							
							a predecessor if it has a non-zero first index and the predecessor
ends with a struct index.
llvm-svn: 3982 
							
						 
						
							2002-09-29 22:55:05 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								be55f2dd2c 
								
							 
						 
						
							
							
								
								Convert DIRS to PARALLEL_DIRS.  They can be built independently.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3972 
							
						 
						
							2002-09-29 11:52:14 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9011903ee2 
								
							 
						 
						
							
							
								
								Added a couple of helper methods for live range construction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3970 
							
						 
						
							2002-09-28 17:05:43 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ed2df3ecf8 
								
							 
						 
						
							
							
								
								Live ranges for Return value and return address of a Call are now  
							
							 
							
							... 
							
							
							
							created here, simply by handling all implicit operands (which should
have been done anyway).
llvm-svn: 3969 
							
						 
						
							2002-09-28 17:05:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8076fe87b7 
								
							 
						 
						
							
							
								
								Fixed method getReturnValue(): it should return NULL if the  
							
							 
							
							... 
							
							
							
							callee does not return a value.
llvm-svn: 3968 
							
						 
						
							2002-09-28 17:03:54 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8fef3b8033 
								
							 
						 
						
							
							
								
								Fixed incorrect assertion: spill code for function ptr should be  
							
							 
							
							... 
							
							
							
							handled like normal operands, not like other call arguments.
llvm-svn: 3967 
							
						 
						
							2002-09-28 17:02:40 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								66303bb9a5 
								
							 
						 
						
							
							
								
								Sign-extend integer constants from original type size to 64 bits!  
							
							 
							
							... 
							
							
							
							llvm-svn: 3958 
							
						 
						
							2002-09-27 14:26:20 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5cc5d4b19a 
								
							 
						 
						
							
							
								
								Add method IGNode::getCombinedDegree to count the sum of the degrees  
							
							 
							
							... 
							
							
							
							of two nodes, excluding duplicates.
llvm-svn: 3848 
							
						 
						
							2002-09-20 00:55:04 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e6ee32bfe2 
								
							 
						 
						
							
							
								
								Add PostOpts/ and rename PreSelection/ to PreOpts/.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3847 
							
						 
						
							2002-09-20 00:53:53 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								97c348d9ec 
								
							 
						 
						
							
							
								
								Add method MachineInstr::replace to rewrite a machine instruction in place.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3843 
							
						 
						
							2002-09-20 00:47:49 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e008b2d62e 
								
							 
						 
						
							
							
								
								Allow copy coalescing in more cases: if sum of node degrees is more than  
							
							 
							
							... 
							
							
							
							than #available regs, compute the sum excluding duplicates and if that
is less than #regs, go ahead and coalesce.
Add method IGNode::getCombinedDegree to count excluding duplicates.
llvm-svn: 3842 
							
						 
						
							2002-09-20 00:45:47 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5e1c434572 
								
							 
						 
						
							
							
								
								Peephole optimization pass on final machine code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3840 
							
						 
						
							2002-09-20 00:42:11 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								a50098d8e4 
								
							 
						 
						
							
							
								
								Files moved to CodeGen/PreOpts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3839 
							
						 
						
							2002-09-20 00:30:46 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e9ac29b475 
								
							 
						 
						
							
							
								
								Moving these files from Code/PreSelection to here.  
							
							 
							
							... 
							
							
							
							Original logs for PreSelection.cpp:
  revision 1.2
  date: 2002/09/17 23:50:32;  author: lattner;  state: Exp;  lines: +1 -3
  Don't put default parameter values into .cpp files, it breaks 3.x compilers
  revision 1.1
  date: 2002/09/16 15:31:13;  author: vadve;  state: Exp;
  New preselection pass that specializes LLVM code for a target machine,
  while remaining in legal portable LLVM form and preserving type
  information and type safety.
llvm-svn: 3838 
							
						 
						
							2002-09-20 00:29:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2d7730e3dd 
								
							 
						 
						
							
							
								
								Don't put default parameter values into .cpp files, it breaks 3.x compilers  
							
							 
							
							... 
							
							
							
							llvm-svn: 3799 
							
						 
						
							2002-09-17 23:50:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								077b45d931 
								
							 
						 
						
							
							
								
								Add support for GCC 2.96  
							
							 
							
							... 
							
							
							
							llvm-svn: 3777 
							
						 
						
							2002-09-17 17:23:09 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5ce9e4bc64 
								
							 
						 
						
							
							
								
								Add subdirectory PreSelection.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3739 
							
						 
						
							2002-09-16 15:32:07 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								161a507def 
								
							 
						 
						
							
							
								
								New preselection pass that specializes LLVM code for a target machine,  
							
							 
							
							... 
							
							
							
							while remaining in legal portable LLVM form and preserving type
information and type safety.
llvm-svn: 3738 
							
						 
						
							2002-09-16 15:31:13 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								751130215f 
								
							 
						 
						
							
							
								
								Dump routine now writes out allocated register numbers if available.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3737 
							
						 
						
							2002-09-16 15:18:53 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e567179aaa 
								
							 
						 
						
							
							
								
								Improve and fix error in allocating stack slots: adjust alignment after adding  
							
							 
							
							... 
							
							
							
							base address of the relevant region (instead of assuming that each region
is maximally aligned).
llvm-svn: 3736 
							
						 
						
							2002-09-16 15:18:16 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								03710d247d 
								
							 
						 
						
							
							
								
								Add a version of ChooseRegOrImmed to handle numerical constants  
							
							 
							
							... 
							
							
							
							introduced by InstrSelection.
llvm-svn: 3735 
							
						 
						
							2002-09-16 15:15:57 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								4d66e9973f 
								
							 
						 
						
							
							
								
								Add an assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3734 
							
						 
						
							2002-09-16 15:13:59 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								580b851d23 
								
							 
						 
						
							
							
								
								Fix typos in previous checkin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3726 
							
						 
						
							2002-09-15 15:33:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a73d6653f6 
								
							 
						 
						
							
							
								
								RegAllocCommon no longer includes CommandLine.h so we have to include it  
							
							 
							
							... 
							
							
							
							here.
llvm-svn: 3725 
							
						 
						
							2002-09-15 07:07:55 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								0e56b36b53 
								
							 
						 
						
							
							
								
								Break RA_DEBUG option into several levels to get better control over  
							
							 
							
							... 
							
							
							
							debug output.
llvm-svn: 3724 
							
						 
						
							2002-09-14 23:05:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								d171a8c7c5 
								
							 
						 
						
							
							
								
								Remove unnecessary include.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3723 
							
						 
						
							2002-09-14 23:04:52 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c9f1e71360 
								
							 
						 
						
							
							
								
								Break RA_DEBUG option into several levels to get better output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3722 
							
						 
						
							2002-09-14 22:18:37 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								a8f926c0c1 
								
							 
						 
						
							
							
								
								Moving to lib/CodeGen/RegAlloc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3718 
							
						 
						
							2002-09-14 11:57:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5fb1fee605 
								
							 
						 
						
							
							
								
								Fix a bug I introduced into the code generator. :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 3694 
							
						 
						
							2002-09-12 20:27:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b9d9e0ff8d 
								
							 
						 
						
							
							
								
								- Change getelementptr instruction to use long indexes instead of uint  
							
							 
							
							... 
							
							
							
							indexes for sequential types.
llvm-svn: 3681 
							
						 
						
							2002-09-11 01:21:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								74946507fc 
								
							 
						 
						
							
							
								
								Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't  
							
							 
							
							... 
							
							
							
							erroneously report them as leaks
llvm-svn: 3624 
							
						 
						
							2002-09-08 21:19:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								16d4c60600 
								
							 
						 
						
							
							
								
								Inform the memory leak detector that TmpInstruction objects should not be  
							
							 
							
							... 
							
							
							
							subject to memory leak checking.
llvm-svn: 3623 
							
						 
						
							2002-09-08 21:08:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b0b412e66e 
								
							 
						 
						
							
							
								
								- Renamed Type::isIntegral() to Type::isInteger()  
							
							 
							
							... 
							
							
							
							- Added new method Type::isIntegral() that is the same as isInteger, but
    also accepts bool.
llvm-svn: 3574 
							
						 
						
							2002-09-03 01:08:28 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								bcba516097 
								
							 
						 
						
							
							
								
								moved this file from lib/Reoptimizer/Mapping  
							
							 
							
							... 
							
							
							
							llvm-svn: 3519 
							
						 
						
							2002-08-27 22:47:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								2762328f9e 
								
							 
						 
						
							
							
								
								Makefile for new sub directory  
							
							 
							
							... 
							
							
							
							llvm-svn: 3518 
							
						 
						
							2002-08-27 22:46:38 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								fe9eda7fb1 
								
							 
						 
						
							
							
								
								Added Mapping subdir  
							
							 
							
							... 
							
							
							
							llvm-svn: 3517 
							
						 
						
							2002-08-27 22:45:49 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								872c7f9a9e 
								
							 
						 
						
							
							
								
								Use newly-added type inspection support in InstTreeNode subclasses.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3501 
							
						 
						
							2002-08-24 21:02:09 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8c1e3f7310 
								
							 
						 
						
							
							
								
								Moved code here to extract memory instruction indices and to check  
							
							 
							
							... 
							
							
							
							whether FoldGetElemNodes should be called.  This is machine-independent
but was in the Sparc directory.  This is in a new function: GetMemInstArgs.
llvm-svn: 3500 
							
						 
						
							2002-08-24 21:00:08 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								492a263ffd 
								
							 
						 
						
							
							
								
								Added #include <alloca.h>  
							
							 
							
							... 
							
							
							
							llvm-svn: 3491 
							
						 
						
							2002-08-23 10:54:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dfb3a2cd07 
								
							 
						 
						
							
							
								
								Eliminated the MemAccessInst class, folding contents into GEP class.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3487 
							
						 
						
							2002-08-22 23:37:20 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3f76984952 
								
							 
						 
						
							
							
								
								dumpNode() does not need to print MachineInstrs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 3444 
							
						 
						
							2002-08-22 02:59:46 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3db97eb499 
								
							 
						 
						
							
							
								
								Unary Not (boolean and bitwise) is no longer a separate LLVM instruction  
							
							 
							
							... 
							
							
							
							but is instead implemented with XOR.  Note that the InstrForest opLabels
for Not and BNot remain the same, i.e., the XOR is recognized and
represented as a (boolean or bitwise) Not when building the instruction
trees.  But these tree nodes are now binary, not unary.
llvm-svn: 3343 
							
						 
						
							2002-08-15 14:19:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								fa99db77a8 
								
							 
						 
						
							
							
								
								Add method MachineInstr::substituteValue() which substitutes  
							
							 
							
							... 
							
							
							
							one Value with another one in all operands and implicit references
of the machine instruction.
llvm-svn: 3306 
							
						 
						
							2002-08-14 16:52:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								959a5fbf8e 
								
							 
						 
						
							
							
								
								* Removed extraneous #includes  
							
							 
							
							... 
							
							
							
							* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3278 
							
						 
						
							2002-08-09 20:08:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								02e7a86fec 
								
							 
						 
						
							
							
								
								* Removed extraneous #includes  
							
							 
							
							... 
							
							
							
							* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3277 
							
						 
						
							2002-08-09 20:08:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3c3457ccea 
								
							 
						 
						
							
							
								
								We are using std::vector, so remove extraneous namespace prefixes  
							
							 
							
							... 
							
							
							
							llvm-svn: 3275 
							
						 
						
							2002-08-09 20:05:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e08000ac9f 
								
							 
						 
						
							
							
								
								Very minor cleanups  
							
							 
							
							... 
							
							
							
							llvm-svn: 3271 
							
						 
						
							2002-08-09 18:55:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f0ed55d1ee 
								
							 
						 
						
							
							
								
								- Cleaned up the interface to AnalysisUsage to take analysis class names  
							
							 
							
							... 
							
							
							
							instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3265 
							
						 
						
							2002-08-08 19:01:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								40eb9dafed 
								
							 
						 
						
							
							
								
								- Cleaned up the interface to AnalysisUsage to take analysis class names  
							
							 
							
							... 
							
							
							
							instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264 
							
						 
						
							2002-08-08 19:01:28 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1a1c3ed56d 
								
							 
						 
						
							
							
								
								Add function GetConstantValueAsUnsignedInt.  
							
							 
							
							... 
							
							
							
							Fix 2 bugs in FoldGetElemChain so index vector is not modified
when no GEPs are folded in, and so a hasLeadingZero is computed
only for the last folded GEP, not the one after that if any.
llvm-svn: 3244 
							
						 
						
							2002-08-04 20:49:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4bc962d1d5 
								
							 
						 
						
							
							
								
								* Move InstructionSelection Pass here instead of living in Sparc.cpp.  It  
							
							 
							
							... 
							
							
							
							is platform independant afterall.
* Object orientize the functions, cleanup code a bit.  Instead of static
  global functions, the helpers for instruction selection are now part of
  the InstructionSelection Pass class.
llvm-svn: 3147 
							
						 
						
							2002-07-30 03:57:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								05e148710e 
								
							 
						 
						
							
							
								
								Remove unused vector  
							
							 
							
							... 
							
							
							
							llvm-svn: 3143 
							
						 
						
							2002-07-30 02:52:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e38dce72a7 
								
							 
						 
						
							
							
								
								Refix stuff for GCC 2.95, 3.0.4 & 3.1  
							
							 
							
							... 
							
							
							
							llvm-svn: 3094 
							
						 
						
							2002-07-25 18:04:48 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								7a167de851 
								
							 
						 
						
							
							
								
								now removes deleted nops from MachineCodeForInstruction  
							
							 
							
							... 
							
							
							
							llvm-svn: 3090 
							
						 
						
							2002-07-25 17:31:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10073a9080 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 3075 
							
						 
						
							2002-07-25 06:17:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c21f2454b 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 3058 
							
						 
						
							2002-07-24 21:21:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e583333ec9 
								
							 
						 
						
							
							
								
								Non-standard hash classes are not in the std:: namespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 3057 
							
						 
						
							2002-07-24 21:21:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e98dd5fcac 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 3056 
							
						 
						
							2002-07-24 21:21:32 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								c4ffab60d5 
								
							 
						 
						
							
							
								
								moving to the Reoptimizer/Mapping dir  
							
							 
							
							... 
							
							
							
							llvm-svn: 2993 
							
						 
						
							2002-07-22 22:10:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f5cad15a67 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 2985 
							
						 
						
							2002-07-22 02:10:13 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								0644a84a5f 
								
							 
						 
						
							
							
								
								changed size computation  
							
							 
							
							... 
							
							
							
							llvm-svn: 2974 
							
						 
						
							2002-07-19 22:54:08 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								98b9e48981 
								
							 
						 
						
							
							
								
								added  check for Function with 0 BB  
							
							 
							
							... 
							
							
							
							llvm-svn: 2942 
							
						 
						
							2002-07-17 23:40:33 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								81264e6bed 
								
							 
						 
						
							
							
								
								Now will profile all Basic Blocks  
							
							 
							
							... 
							
							
							
							llvm-svn: 2922 
							
						 
						
							2002-07-16 17:48:27 +00:00  
						
					 
				
					
						
							
							
								 
								Mehwish Nagda
							
						 
						
							 
							
							
							
							
								
							
							
								6c9544a2a0 
								
							 
						 
						
							
							
								
								Initial checking  : Writes LLVM - MI mappiing to the .s file  
							
							 
							
							... 
							
							
							
							llvm-svn: 2911 
							
						 
						
							2002-07-15 23:08:49 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								3de6fcfdec 
								
							 
						 
						
							
							
								
								added std:: to endl  
							
							 
							
							... 
							
							
							
							llvm-svn: 2875 
							
						 
						
							2002-07-11 00:17:17 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6a36c8f2b9 
								
							 
						 
						
							
							
								
								Fix print of BB name in dump().  
							
							 
							
							... 
							
							
							
							llvm-svn: 2861 
							
						 
						
							2002-07-10 21:45:30 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f089faa7f6 
								
							 
						 
						
							
							
								
								Add support for marking each operand as a %hh, %hm, %lm or %lo.  
							
							 
							
							... 
							
							
							
							Represent previous bools and these ones with flags in a single byte
per operand.
llvm-svn: 2860 
							
						 
						
							2002-07-10 21:45:04 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								046fe57511 
								
							 
						 
						
							
							
								
								changed mem_fun to std::mem_fun  
							
							 
							
							... 
							
							
							
							llvm-svn: 2847 
							
						 
						
							2002-07-09 19:18:56 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7228f0c404 
								
							 
						 
						
							
							
								
								Significant changes to correctly spill CC registers and to correctly  
							
							 
							
							... 
							
							
							
							handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
   needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
   since regs used to save values *across* an instruction are not obvious
   either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
   This is needed for conditional move operations.
   So an operand may need spill code both before and after the instruction.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2833 
							
						 
						
							2002-07-08 23:15:32 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1dfb4079b7 
								
							 
						 
						
							
							
								
								MachineInstr* in vector are not const (and never really were)  
							
							 
							
							... 
							
							
							
							because operands may be modified directly to set register.
Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2832 
							
						 
						
							2002-07-08 23:07:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								35bac4a658 
								
							 
						 
						
							
							
								
								Rename static struct Initializer to avoid name conflict with BB.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2831 
							
						 
						
							2002-07-08 23:04:31 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								4180fe41c2 
								
							 
						 
						
							
							
								
								Fix printing of BB in dump.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2830 
							
						 
						
							2002-07-08 23:03:54 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								2bd7ae169d 
								
							 
						 
						
							
							
								
								Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.  
							
							 
							
							... 
							
							
							
							This class is now an annotation on BasicBlock.
llvm-svn: 2829 
							
						 
						
							2002-07-08 23:03:10 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								a9c93af49f 
								
							 
						 
						
							
							
								
								MachineInstr::dump() now takes no arguments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2828 
							
						 
						
							2002-07-08 23:01:46 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f0b84cefb0 
								
							 
						 
						
							
							
								
								Implementation of class MachineCodeForBasicBlock.  
							
							 
							
							... 
							
							
							
							Moved here from MachineInstr.cpp to make it an annotation on BasicBlock.
llvm-svn: 2827 
							
						 
						
							2002-07-08 23:01:11 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								19c55db0d9 
								
							 
						 
						
							
							
								
								A single MachineInstr operand may now be both a def and a use,  
							
							 
							
							... 
							
							
							
							so additional dep. edges have to be added.
This was needed to correctly handle conditional move instructions!
MachineCodeForBasicBlock is now an annotation on BasicBlock.
Renamed "earliestForNode" to "earliestReadyTimeForNode".
llvm-svn: 2826 
							
						 
						
							2002-07-08 22:59:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								beb364051b 
								
							 
						 
						
							
							
								
								getUsableUniRegAtMI interface simplified slightly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2822 
							
						 
						
							2002-07-08 22:39:36 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6c013a9689 
								
							 
						 
						
							
							
								
								Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.  
							
							 
							
							... 
							
							
							
							An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
llvm-svn: 2821 
							
						 
						
							2002-07-08 22:38:45 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ff045b2e18 
								
							 
						 
						
							
							
								
								MachineInstr* in vector are not const (and never really were)  
							
							 
							
							... 
							
							
							
							because operands may be modified directly to set register.
llvm-svn: 2820 
							
						 
						
							2002-07-08 22:34:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dec26513ad 
								
							 
						 
						
							
							
								
								Remove tag that just clutters diffs  
							
							 
							
							... 
							
							
							
							llvm-svn: 2807 
							
						 
						
							2002-06-30 16:08:25 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								458496c060 
								
							 
						 
						
							
							
								
								changes to make it compatible with 64bit gcc  
							
							 
							
							... 
							
							
							
							llvm-svn: 2791 
							
						 
						
							2002-06-25 20:55:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								113f4f4609 
								
							 
						 
						
							
							
								
								MEGAPATCH checkin.  
							
							 
							
							... 
							
							
							
							For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779 
							
						 
						
							2002-06-25 16:13:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7076ff29ed 
								
							 
						 
						
							
							
								
								MEGAPATCH checkin.  
							
							 
							
							... 
							
							
							
							For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778 
							
						 
						
							2002-06-25 16:13:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								abe98198a8 
								
							 
						 
						
							
							
								
								Convert RegClass::IsColorUsedArr from a dynamically allocated array to  
							
							 
							
							... 
							
							
							
							a vector.  This makes asserting on array bounds easier.
llvm-svn: 2731 
							
						 
						
							2002-05-23 15:50:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								afc86e9a35 
								
							 
						 
						
							
							
								
								Move debug options out of header files so that the header does not have  
							
							 
							
							... 
							
							
							
							to #include CommandLine.h.
llvm-svn: 2712 
							
						 
						
							2002-05-22 17:08:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d5ed3694ae 
								
							 
						 
						
							
							
								
								Avoid #including CommandLine.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 2710 
							
						 
						
							2002-05-22 17:06:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								99bd13b415 
								
							 
						 
						
							
							
								
								Hide debugging options  
							
							 
							
							... 
							
							
							
							llvm-svn: 2676 
							
						 
						
							2002-05-20 21:39:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9af99f8c74 
								
							 
						 
						
							
							
								
								Don't lose namespace qualifications on previous patch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2664 
							
						 
						
							2002-05-20 17:38:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5d78db2afb 
								
							 
						 
						
							
							
								
								InstrnsBefore and InstrnsAfter are now vectors instead of deques.  
							
							 
							
							... 
							
							
							
							May be slightly less efficient but significantly reduces special
cases interfaces in code generation.
llvm-svn: 2649 
							
						 
						
							2002-05-19 15:41:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								16384011d2 
								
							 
						 
						
							
							
								
								Better folding getelementptr operations with mixed  
							
							 
							
							... 
							
							
							
							array and struct indexes.
Update operand values in CallArgsDescriptor (a new class)
when replacing constant values with immediates.
llvm-svn: 2645 
							
						 
						
							2002-05-19 15:34:29 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								069d51612f 
								
							 
						 
						
							
							
								
								cpValue2Value now needs a vector of MachineInstr to store return values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2644 
							
						 
						
							2002-05-19 15:31:08 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1e45411a31 
								
							 
						 
						
							
							
								
								Annotation class for MachineInstr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2643 
							
						 
						
							2002-05-19 15:30:21 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								2780d2dacb 
								
							 
						 
						
							
							
								
								Numerous bug fixes:  
							
							 
							
							... 
							
							
							
							-- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect coloring for CC registers (both int and FP): interferences
   were being completely ignored for int CC and were considered but no
   spills were marked for fp CC!
Also some code improvements:
-- better interface to generating machine instr for common cases
   (many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
   one codegen phase to another (now used to pass information about
   CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint
llvm-svn: 2642 
							
						 
						
							2002-05-19 15:29:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								181cc32365 
								
							 
						 
						
							
							
								
								Replace all usages of Type::isPointerType with isa<PointerType>  
							
							 
							
							... 
							
							
							
							llvm-svn: 2486 
							
						 
						
							2002-05-06 16:15:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								70411b074c 
								
							 
						 
						
							
							
								
								Add neccesary #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 2406 
							
						 
						
							2002-04-29 18:48:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d5a847057b 
								
							 
						 
						
							
							
								
								Eliminate duplicate or unneccesary #include's  
							
							 
							
							... 
							
							
							
							llvm-svn: 2397 
							
						 
						
							2002-04-29 17:42:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								37104aace8 
								
							 
						 
						
							
							
								
								Add new optional getPassName() virtual function that a Pass can override  
							
							 
							
							... 
							
							
							
							to make debugging output a lot nicer.
llvm-svn: 2395 
							
						 
						
							2002-04-29 14:57:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								50cf8f1871 
								
							 
						 
						
							
							
								
								Include appropriate file  
							
							 
							
							... 
							
							
							
							llvm-svn: 2379 
							
						 
						
							2002-04-28 20:40:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca14237696 
								
							 
						 
						
							
							
								
								Split ConstantVals.h into Constant.h and Constants.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 2378 
							
						 
						
							2002-04-28 19:55:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								78dd56fe62 
								
							 
						 
						
							
							
								
								Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes  
							
							 
							
							... 
							
							
							
							to the global namespace
llvm-svn: 2370 
							
						 
						
							2002-04-28 16:21:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								002958cdbb 
								
							 
						 
						
							
							
								
								Remove all contents of the cfg namespace to the global namespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 2369 
							
						 
						
							2002-04-28 16:19:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f998685cd9 
								
							 
						 
						
							
							
								
								s/Method/Function  
							
							 
							
							... 
							
							
							
							llvm-svn: 2336 
							
						 
						
							2002-04-27 07:27:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c8e665431b 
								
							 
						 
						
							
							
								
								* Rename MethodPass class to FunctionPass  
							
							 
							
							... 
							
							
							
							- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well
llvm-svn: 2333 
							
						 
						
							2002-04-27 06:56:12 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								40221aa74c 
								
							 
						 
						
							
							
								
								Don't record instructions for copying method arguments in the  
							
							 
							
							... 
							
							
							
							AddedInstrns sets for the first machine instruction.  It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken.  Instead, use a separate set for the function entry.
llvm-svn: 2318 
							
						 
						
							2002-04-25 04:46:28 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7a4b381f80 
								
							 
						 
						
							
							
								
								Don't record instructions for copying method arguments in the  
							
							 
							
							... 
							
							
							
							AddedInstrns sets for the first machine instruction.  It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken.  Instead, use a separate set for the function entry.
llvm-svn: 2312 
							
						 
						
							2002-04-25 04:34:15 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								d79d2c3892 
								
							 
						 
						
							
							
								
								Improve printing during dumps.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2311 
							
						 
						
							2002-04-25 04:31:18 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7092772475 
								
							 
						 
						
							
							
								
								Optional args are no longer allocated as they are discovered.  
							
							 
							
							... 
							
							
							
							(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.
llvm-svn: 2310 
							
						 
						
							2002-04-25 04:30:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								75323bc2d2 
								
							 
						 
						
							
							
								
								Only emit message if DEBUG_RA is on  
							
							 
							
							... 
							
							
							
							llvm-svn: 2252 
							
						 
						
							2002-04-15 20:36:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2e9fa6d101 
								
							 
						 
						
							
							
								
								Move FunctionArgument out of iOther.h into Argument.h and rename class to  
							
							 
							
							... 
							
							
							
							be 'Argument' instead of FunctionArgument.
llvm-svn: 2216 
							
						 
						
							2002-04-09 19:48:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								99ac15d154 
								
							 
						 
						
							
							
								
								No need to reserve space, erasing does not change the size of the container.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2201 
							
						 
						
							2002-04-09 18:01:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e8a1a44dd4 
								
							 
						 
						
							
							
								
								* Add a file header with some information  
							
							 
							
							... 
							
							
							
							* Delete the DelaySlotInfo objects created by the SchedulingManager class.
  These leaked objects were accounting for 3/4 of the memory leaked by the
  backend, so this is a relatively major win.
* Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has
  better code locality (making it easier to read).
llvm-svn: 2197 
							
						 
						
							2002-04-09 05:45:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c1a58d6ba 
								
							 
						 
						
							
							
								
								Clean up the ownership model a bit so that nodes actually get deleted more  
							
							 
							
							... 
							
							
							
							frequently. This still leaks edges quite a bit, but it leaks no nodes
(I think).
llvm-svn: 2190 
							
						 
						
							2002-04-09 05:15:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30e23dacbc 
								
							 
						 
						
							
							
								
								Convert AddedInstrMapType to contain AddedInstrns by value instead of by  
							
							 
							
							... 
							
							
							
							pointer so that they do not all get leaked!
llvm-svn: 2188 
							
						 
						
							2002-04-09 05:13:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3abd752f90 
								
							 
						 
						
							
							
								
								GCC3.0 is reported to die without an alloca definition.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2186 
							
						 
						
							2002-04-09 03:37:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8690ac124f 
								
							 
						 
						
							
							
								
								Don't leak memory like a seive  
							
							 
							
							... 
							
							
							
							llvm-svn: 2185 
							
						 
						
							2002-04-08 23:09:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aca4d447c9 
								
							 
						 
						
							
							
								
								Value cannot be directly instantiated.  I think that this code was TRYING to  
							
							 
							
							... 
							
							
							
							make a PHI node, although it was badly broken.  This keeps tests passing, so
we'll go with it.
llvm-svn: 2184 
							
						 
						
							2002-04-08 22:05:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f739fa8541 
								
							 
						 
						
							
							
								
								s/Method/Function  
							
							 
							
							... 
							
							
							
							llvm-svn: 2180 
							
						 
						
							2002-04-08 22:03:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								95f65b6f84 
								
							 
						 
						
							
							
								
								s/method/function  
							
							 
							
							... 
							
							
							
							llvm-svn: 2177 
							
						 
						
							2002-04-08 22:01:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								62b7fd136e 
								
							 
						 
						
							
							
								
								Change references to the Method class to be references to the Function  
							
							 
							
							... 
							
							
							
							class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
llvm-svn: 2144 
							
						 
						
							2002-04-07 20:49:59 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c533f04176 
								
							 
						 
						
							
							
								
								Add method clearCallInterference().  
							
							 
							
							... 
							
							
							
							llvm-svn: 2071 
							
						 
						
							2002-03-31 18:58:14 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f434a9ed5f 
								
							 
						 
						
							
							
								
								Include temp. values when computing max. size of stack frame!  
							
							 
							
							... 
							
							
							
							llvm-svn: 2070 
							
						 
						
							2002-03-31 18:57:49 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5bf8890305 
								
							 
						 
						
							
							
								
								Fix a bug in previous bug fix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 2069 
							
						 
						
							2002-03-31 18:56:51 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								aa2373d2ed 
								
							 
						 
						
							
							
								
								Bug fix: address used by indirect call instruction should also  
							
							 
							
							... 
							
							
							
							be marked as having a Call Interference, even though it may not
be live after the call.
llvm-svn: 2068 
							
						 
						
							2002-03-31 18:54:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								57698e2c0b 
								
							 
						 
						
							
							
								
								Change references from Method to Function  
							
							 
							
							... 
							
							
							
							change references from MethodARgument to FunctionArgument
llvm-svn: 1991 
							
						 
						
							2002-03-26 18:01:55 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7a78ae9dd6 
								
							 
						 
						
							
							
								
								Destroy MethodLiveVarInfo after register allocation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1976 
							
						 
						
							2002-03-24 03:54:03 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								479126b3d3 
								
							 
						 
						
							
							
								
								Use deterministic iterator for SchedGraphs.  This is actually not  
							
							 
							
							... 
							
							
							
							useful right now when we only do local scheduling.
llvm-svn: 1975 
							
						 
						
							2002-03-24 03:53:03 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9db158f568 
								
							 
						 
						
							
							
								
								Bug fix: nextToTry was not being initialized in one case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1974 
							
						 
						
							2002-03-24 03:46:15 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e2a0dfad64 
								
							 
						 
						
							
							
								
								Add option to disable scheduling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1973 
							
						 
						
							2002-03-24 03:45:35 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c228f7a077 
								
							 
						 
						
							
							
								
								Add option to disable scheduling.  
							
							 
							
							... 
							
							
							
							Destroy live-variable information after scheduling so it is
recomputed before later phases (e.g., reg. allocation).
Use deterministic iterator to enumerate sched graphs.
llvm-svn: 1972 
							
						 
						
							2002-03-24 03:44:55 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								90039d0ab9 
								
							 
						 
						
							
							
								
								Minor changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1971 
							
						 
						
							2002-03-24 03:40:59 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								31a5d3a475 
								
							 
						 
						
							
							
								
								Re-fix bug: Put back MachineCodeForInstruction::dropAllReferences.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1970 
							
						 
						
							2002-03-24 03:40:11 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								377646fcfd 
								
							 
						 
						
							
							
								
								Fix padding for variables allocated on stack.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1969 
							
						 
						
							2002-03-24 03:39:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								dc96167e00 
								
							 
						 
						
							
							
								
								Major overhaul to FoldGetElemPtr to handle mixed array and struct refs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1968 
							
						 
						
							2002-03-24 03:37:53 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8bc420ec6a 
								
							 
						 
						
							
							
								
								Use deterministic iterator for treeRoots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1967 
							
						 
						
							2002-03-24 03:36:52 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3228f9cc42 
								
							 
						 
						
							
							
								
								Change treeRoots data structure to make enumeration deterministic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1962 
							
						 
						
							2002-03-24 03:24:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4e8c4877aa 
								
							 
						 
						
							
							
								
								Rename Method to Function  
							
							 
							
							... 
							
							
							
							llvm-svn: 1957 
							
						 
						
							2002-03-23 22:51:58 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8e01c0b70e 
								
							 
						 
						
							
							
								
								Big bug fix: getUsableUniRegAtMI needed to return values in arguments  
							
							 
							
							... 
							
							
							
							but did not pass the arguments by reference!
llvm-svn: 1906 
							
						 
						
							2002-03-18 03:37:19 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								7446b323a7 
								
							 
						 
						
							
							
								
								Added function computeOffsetforLocalVar to check how big the  
							
							 
							
							... 
							
							
							
							offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1905 
							
						 
						
							2002-03-18 03:36:30 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								307916c008 
								
							 
						 
						
							
							
								
								Bug fix in setting CC register.  
							
							 
							
							... 
							
							
							
							Also use distinct names for the three types of SetMachineOperand
to avoid painful overloading problems and errors.
llvm-svn: 1904 
							
						 
						
							2002-03-18 03:35:24 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e5842b527d 
								
							 
						 
						
							
							
								
								Constants are now added to the constant pool only when a load  
							
							 
							
							... 
							
							
							
							instruction is actually generated for them.
Rename the different versions of SetMachineOperand.
llvm-svn: 1903 
							
						 
						
							2002-03-18 03:33:43 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								d2c71c1d08 
								
							 
						 
						
							
							
								
								Use vector for machine instructions returned by GetInstructionsByRule.  
							
							 
							
							... 
							
							
							
							Fix constants in instructions generated for Phi elimination.
llvm-svn: 1902 
							
						 
						
							2002-03-18 03:31:54 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								cecde7122c 
								
							 
						 
						
							
							
								
								Big bug fix: getUsableUniRegAtMI needed to return values in arguments  
							
							 
							
							... 
							
							
							
							but did not pass the arguments by reference!
Also added a function to get a register class by ID.
llvm-svn: 1901 
							
						 
						
							2002-03-18 03:26:48 +00:00  
						
					 
				
					
						
							
							
								 
								Anand Shukla
							
						 
						
							 
							
							
							
							
								
							
							
								ef5631efba 
								
							 
						 
						
							
							
								
								Change to make it build with GCC 2.95.3  
							
							 
							
							... 
							
							
							
							llvm-svn: 1802 
							
						 
						
							2002-02-26 18:57:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7c7930f59c 
								
							 
						 
						
							
							
								
								* Make it compile with GCC 3.0.4  
							
							 
							
							... 
							
							
							
							llvm-svn: 1788 
							
						 
						
							2002-02-24 23:01:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								29a5df81e4 
								
							 
						 
						
							
							
								
								* Silence signed/unsigned warnings  
							
							 
							
							... 
							
							
							
							* Make it compile with GCC 3.0.4
llvm-svn: 1787 
							
						 
						
							2002-02-24 23:01:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								83d485b310 
								
							 
						 
						
							
							
								
								* Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into  
							
							 
							
							... 
							
							
							
							llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
  InstrTypes.h anymore
llvm-svn: 1750 
							
						 
						
							2002-02-12 22:39:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								60a6591d83 
								
							 
						 
						
							
							
								
								Method.h no longer includes BasicBlock.h  
							
							 
							
							... 
							
							
							
							Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746 
							
						 
						
							2002-02-12 21:07:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ea13e0afa0 
								
							 
						 
						
							
							
								
								Convert operand iterator over to work like an STL iterator  
							
							 
							
							... 
							
							
							
							llvm-svn: 1720 
							
						 
						
							2002-02-05 06:02:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7e5ee4253c 
								
							 
						 
						
							
							
								
								Minor change: Methods that return ValueSet's that are guaranteed to be valid  
							
							 
							
							... 
							
							
							
							return references instead of pointers.
llvm-svn: 1719 
							
						 
						
							2002-02-05 04:20:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d30f989cda 
								
							 
						 
						
							
							
								
								* Code Cleanups  
							
							 
							
							... 
							
							
							
							* Removal dependencies on Type.h & remove uses of getTypeID()
llvm-svn: 1718 
							
						 
						
							2002-02-05 03:52:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f1223ace96 
								
							 
						 
						
							
							
								
								* Code Cleanups of IGNode.h  
							
							 
							
							... 
							
							
							
							* Removal of getTypeID() methods, and dependence on llvm/Type.h, from IGNode & LiveRange
llvm-svn: 1717 
							
						 
						
							2002-02-05 03:51:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								101a5d9197 
								
							 
						 
						
							
							
								
								Must include SetOperations to do set_*  
							
							 
							
							... 
							
							
							
							llvm-svn: 1716 
							
						 
						
							2002-02-05 03:35:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b0af9cdbda 
								
							 
						 
						
							
							
								
								* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static  
							
							 
							
							... 
							
							
							
							function in the one .cpp file that uses it.  Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
  templates that will eventually be moved to Support.
* Eliminate some irrelevant const's
llvm-svn: 1712 
							
						 
						
							2002-02-05 02:52:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1def732af 
								
							 
						 
						
							
							
								
								* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static  
							
							 
							
							... 
							
							
							
							function in the one .cpp file that uses it.  Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
  templates that will eventually be moved to Support.
llvm-svn: 1711 
							
						 
						
							2002-02-05 02:51:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30e8fb69c5 
								
							 
						 
						
							
							
								
								* Code Cleanups  
							
							 
							
							... 
							
							
							
							* Introduce RAV to allow stream I/O instead of using printValue
llvm-svn: 1710 
							
						 
						
							2002-02-05 01:43:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3da53ad636 
								
							 
						 
						
							
							
								
								* Add a #include not indirectly included any more  
							
							 
							
							... 
							
							
							
							llvm-svn: 1707 
							
						 
						
							2002-02-05 00:35:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aa7a151874 
								
							 
						 
						
							
							
								
								* RegisterAllocation _uses_ LiveVar analysis, instead of creating it's own copy  
							
							 
							
							... 
							
							
							
							llvm-svn: 1701 
							
						 
						
							2002-02-04 20:02:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6974172717 
								
							 
						 
						
							
							
								
								* The itf exposed by InstrScheduling is now a single function to create the right pass  
							
							 
							
							... 
							
							
							
							* InstructionScheduling is now a real pass
* InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times
  through a loop.  In this was LiveVarAnalysis is actually even SHARED by Register
  allocation.
* SchedPriorities is now passed the live var information in
llvm-svn: 1700 
							
						 
						
							2002-02-04 20:02:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								347a23921a 
								
							 
						 
						
							
							
								
								Switch register allocator over to using LoopInfo directly instead of indirectly through LoopDepthCalculator  
							
							 
							
							... 
							
							
							
							llvm-svn: 1696 
							
						 
						
							2002-02-04 17:48:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8a352d597c 
								
							 
						 
						
							
							
								
								Make LoopDeptCalculator be an internal artifact of how RegAlloc is implemented,  
							
							 
							
							... 
							
							
							
							do not expose it.  Additionally, have it be auto generated by the pass framework
for us.
llvm-svn: 1695 
							
						 
						
							2002-02-04 17:39:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								669a74ce8a 
								
							 
						 
						
							
							
								
								Make #include "llvm/Analysis/LoopDepth.h" be an internal artifact of how register allocation is implemented.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1693 
							
						 
						
							2002-02-04 17:38:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								83a8434eb2 
								
							 
						 
						
							
							
								
								* Add #includes removed from headers  
							
							 
							
							... 
							
							
							
							* ValueSet interface converted from add/remove to insert/erase
* Minor cleanups
llvm-svn: 1689 
							
						 
						
							2002-02-04 16:36:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e630ac9330 
								
							 
						 
						
							
							
								
								Remove dependence on BBLiveVar from InstrScheduling  
							
							 
							
							... 
							
							
							
							Minor cleanups
llvm-svn: 1688 
							
						 
						
							2002-02-04 16:35:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f48173a875 
								
							 
						 
						
							
							
								
								Convert RegisterAllocator interface to opaque pass type, so that users do not  
							
							 
							
							... 
							
							
							
							need to know _anything_ about RegAlloc to use it.  Well in the end maybe.
llvm-svn: 1681 
							
						 
						
							2002-02-04 15:54:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								49562d8442 
								
							 
						 
						
							
							
								
								Add #includes neccesary since they were removed from .h files  
							
							 
							
							... 
							
							
							
							llvm-svn: 1675 
							
						 
						
							2002-02-04 05:56:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a8171dd554 
								
							 
						 
						
							
							
								
								Move instrIsFeasible from InstrScheduling.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 1674 
							
						 
						
							2002-02-04 05:55:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b0da8b2de1 
								
							 
						 
						
							
							
								
								* Minor cleanups  
							
							 
							
							... 
							
							
							
							* Reduce number of #includes, sometimes drastically (LiveRangeInfo.h lost _7_)
* Move instrIsFeasible() from InstrScheduling.h to SchedPriorities.h
* Delete blank lines at end of files
llvm-svn: 1672 
							
						 
						
							2002-02-04 05:52:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								720bc02f18 
								
							 
						 
						
							
							
								
								* Move command line parsing debug stuff to InstrScheduling internal header file  
							
							 
							
							... 
							
							
							
							SchedPriorities.h
llvm-svn: 1669 
							
						 
						
							2002-02-04 02:44:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								36aa542ef0 
								
							 
						 
						
							
							
								
								Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass  
							
							 
							
							... 
							
							
							
							that has a very minimal interface (like it should have).
llvm-svn: 1667 
							
						 
						
							2002-02-04 00:33:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eda6bd71a0 
								
							 
						 
						
							
							
								
								Code pulled out of MAchineInstr.(h|cpp)  
							
							 
							
							... 
							
							
							
							llvm-svn: 1660 
							
						 
						
							2002-02-03 07:54:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								abafc3bc70 
								
							 
						 
						
							
							
								
								Lots of code cleanups, no functional changes  
							
							 
							
							... 
							
							
							
							llvm-svn: 1650 
							
						 
						
							2002-02-03 07:46:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4cec147d4e 
								
							 
						 
						
							
							
								
								* Prune #includes  
							
							 
							
							... 
							
							
							
							* Remove MachineCodeFor(Method|VMInstr) code to their own .cpp files
llvm-svn: 1649 
							
						 
						
							2002-02-03 07:46:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b86d191dbe 
								
							 
						 
						
							
							
								
								* Switch over to cleaner TmpInstruction model  
							
							 
							
							... 
							
							
							
							llvm-svn: 1648 
							
						 
						
							2002-02-03 07:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e59929f7b2 
								
							 
						 
						
							
							
								
								* Straighten out #includes  
							
							 
							
							... 
							
							
							
							* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr
llvm-svn: 1647 
							
						 
						
							2002-02-03 07:33:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0068ea26d7 
								
							 
						 
						
							
							
								
								* Swich to annotation model for MachineCodeForInstruction  
							
							 
							
							... 
							
							
							
							llvm-svn: 1646 
							
						 
						
							2002-02-03 07:31:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								02d8e37cae 
								
							 
						 
						
							
							
								
								Remove extraneous #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 1645 
							
						 
						
							2002-02-03 07:30:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a17c469136 
								
							 
						 
						
							
							
								
								* Straighten out #includes  
							
							 
							
							... 
							
							
							
							* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
llvm-svn: 1644 
							
						 
						
							2002-02-03 07:29:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7c9c85947c 
								
							 
						 
						
							
							
								
								* Get machine instrs from Instructin's by using MachineCodeForInstruction::get  
							
							 
							
							... 
							
							
							
							* Convert a few (*X). to X->
llvm-svn: 1643 
							
						 
						
							2002-02-03 07:28:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6316f38c96 
								
							 
						 
						
							
							
								
								Add a class forward decl  
							
							 
							
							... 
							
							
							
							llvm-svn: 1637 
							
						 
						
							2002-02-03 07:13:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9fcaf328f6 
								
							 
						 
						
							
							
								
								LoopDepth calculation is now in CFG namespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 1601 
							
						 
						
							2002-01-31 00:41:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								447fd86599 
								
							 
						 
						
							
							
								
								Make it build with 2.95.3  
							
							 
							
							... 
							
							
							
							llvm-svn: 1554 
							
						 
						
							2002-01-23 05:47:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								73da1cea60 
								
							 
						 
						
							
							
								
								Oops lost a parenthesis somehow  :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 1504 
							
						 
						
							2002-01-21 01:33:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7f74a56e24 
								
							 
						 
						
							
							
								
								Changes to build successfully with GCC 3.02  
							
							 
							
							... 
							
							
							
							llvm-svn: 1503 
							
						 
						
							2002-01-20 22:54:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								bc28455806 
								
							 
						 
						
							
							
								
								Fixed a bug in spill cost estimation  
							
							 
							
							... 
							
							
							
							llvm-svn: 1500 
							
						 
						
							2002-01-08 16:29:23 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								a42a7e78b6 
								
							 
						 
						
							
							
								
								PhyRegAlloc.cpp: Added temp area resetting before every call  
							
							 
							
							... 
							
							
							
							llvm-svn: 1499 
							
						 
						
							2002-01-07 21:09:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								8c2d8256a9 
								
							 
						 
						
							
							
								
								Added destructors and comments.  
							
							 
							
							... 
							
							
							
							Added correct spill candidate selection logic.
llvm-svn: 1493 
							
						 
						
							2002-01-07 19:19:18 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								f20079dfed 
								
							 
						 
						
							
							
								
								Added comments, destructors where necessary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1491 
							
						 
						
							2002-01-07 19:16:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								cb2335f13f 
								
							 
						 
						
							
							
								
								Eliminate all uses of memInst->getIndicesBROKEN().  
							
							 
							
							... 
							
							
							
							llvm-svn: 1485 
							
						 
						
							2001-12-15 00:36:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2413b160ec 
								
							 
						 
						
							
							
								
								Renamed inst_const_iterator -> const_inst_iterator  
							
							 
							
							... 
							
							
							
							Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408 
							
						 
						
							2001-12-04 00:03:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3462ae3ad7 
								
							 
						 
						
							
							
								
								Rename ConstPoolVal -> Constant  
							
							 
							
							... 
							
							
							
							Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407 
							
						 
						
							2001-12-03 22:26:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fb5ae02e1a 
								
							 
						 
						
							
							
								
								Split the PHINode class out from the iOther.h file into the iPHINode.h file  
							
							 
							
							... 
							
							
							
							llvm-svn: 1405 
							
						 
						
							2001-12-03 18:02:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5de2204fe8 
								
							 
						 
						
							
							
								
								Create a new #include "Support/..." directory structure to move things  
							
							 
							
							... 
							
							
							
							from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400 
							
						 
						
							2001-11-27 00:03:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0c8eea1b6f 
								
							 
						 
						
							
							
								
								Stuff after a #endif is not valid CPP input and breaks some compilers  
							
							 
							
							... 
							
							
							
							llvm-svn: 1375 
							
						 
						
							2001-11-26 18:56:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								63b52693c8 
								
							 
						 
						
							
							
								
								The old getIndices has been deprecated, because it no longer works.  It now  
							
							 
							
							... 
							
							
							
							is named getIndicesBROKEN() and shall be removed when the codebase is updated
to not call it
llvm-svn: 1338 
							
						 
						
							2001-11-26 16:56:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								7dfa1650a2 
								
							 
						 
						
							
							
								
								Commented some popTempArg.. since it leads to a bug  
							
							 
							
							... 
							
							
							
							llvm-svn: 1326 
							
						 
						
							2001-11-15 22:02:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								ec62f24009 
								
							 
						 
						
							
							
								
								Added naming to inserted phi copy values - for easy debugging  
							
							 
							
							... 
							
							
							
							llvm-svn: 1325 
							
						 
						
							2001-11-15 20:46:40 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								9066899a78 
								
							 
						 
						
							
							
								
								Fixed a bug in setReLRegsUsedByMI  
							
							 
							
							... 
							
							
							
							llvm-svn: 1323 
							
						 
						
							2001-11-15 20:23:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								dec9bfd554 
								
							 
						 
						
							
							
								
								Changed some names of methods, added const etc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1322 
							
						 
						
							2001-11-15 20:22:37 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								fbb8a64749 
								
							 
						 
						
							
							
								
								Modify AllocateLocalVar method to take a size argument.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1318 
							
						 
						
							2001-11-15 15:22:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								a514745a96 
								
							 
						 
						
							
							
								
								fixed setUsedRegAtMI  
							
							 
							
							... 
							
							
							
							llvm-svn: 1317 
							
						 
						
							2001-11-15 15:00:53 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								c5989f645b 
								
							 
						 
						
							
							
								
								Changed phi elimination code  
							
							 
							
							... 
							
							
							
							llvm-svn: 1311 
							
						 
						
							2001-11-15 00:27:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								64f7567391 
								
							 
						 
						
							
							
								
								Small changed to printing a machine operand - It the operand is a def, it prints  
							
							 
							
							... 
							
							
							
							a star after it - only for debugging
llvm-svn: 1309 
							
						 
						
							2001-11-14 20:05:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								cba86d060b 
								
							 
						 
						
							
							
								
								Don't assume constant operand can only be in position 1!  
							
							 
							
							... 
							
							
							
							llvm-svn: 1308 
							
						 
						
							2001-11-14 18:49:45 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								65d54eb06e 
								
							 
						 
						
							
							
								
								Idiotic error in last fix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1306 
							
						 
						
							2001-11-14 17:55:02 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c1b534043f 
								
							 
						 
						
							
							
								
								Don't need to load a NULL pointer constant from memory!  
							
							 
							
							... 
							
							
							
							llvm-svn: 1305 
							
						 
						
							2001-11-14 17:24:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								7765ca8b25 
								
							 
						 
						
							
							
								
								Added support method for setting interference for pseudo instructions  
							
							 
							
							... 
							
							
							
							llvm-svn: 1303 
							
						 
						
							2001-11-14 15:37:13 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								f1acecccb6 
								
							 
						 
						
							
							
								
								Added interference for args in pseudo instructions  
							
							 
							
							... 
							
							
							
							llvm-svn: 1300 
							
						 
						
							2001-11-14 15:33:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1237e86597 
								
							 
						 
						
							
							
								
								Remove much cruft from the MemAccessInst instruction  
							
							 
							
							... 
							
							
							
							llvm-svn: 1298 
							
						 
						
							2001-11-14 11:27:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								33c400f6a7 
								
							 
						 
						
							
							
								
								commented out lines printing code after scheduling  
							
							 
							
							... 
							
							
							
							llvm-svn: 1295 
							
						 
						
							2001-11-13 23:12:53 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								36f13d1c2f 
								
							 
						 
						
							
							
								
								Fixed a bug concering LR spilling. Earlier, added spilled code was not inserted  
							
							 
							
							... 
							
							
							
							into the instruction stream correctly.
llvm-svn: 1294 
							
						 
						
							2001-11-13 23:09:30 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								dafc8b909e 
								
							 
						 
						
							
							
								
								Do the same for allocating spills to get their alignment right too.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1285 
							
						 
						
							2001-11-12 23:40:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6e9422e14c 
								
							 
						 
						
							
							
								
								When allocating space on stack for writing a register,  
							
							 
							
							... 
							
							
							
							use the size of the register, not the size of the Value type,
to get the right alignment.
llvm-svn: 1284 
							
						 
						
							2001-11-12 23:26:35 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								4b9c46da24 
								
							 
						 
						
							
							
								
								Bug fix in offset alignment computations: don't subtract the padding  
							
							 
							
							... 
							
							
							
							value from size *before* subtracting size from offset!
llvm-svn: 1283 
							
						 
						
							2001-11-12 23:26:23 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								c189997516 
								
							 
						 
						
							
							
								
								For phi elimination, now we are generating only one instruction  
							
							 
							
							... 
							
							
							
							using cpValue2Value instead of
passing vector to createCopyInstructionByType.
llvm-svn: 1272 
							
						 
						
							2001-11-12 19:42:27 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								03fae5e5db 
								
							 
						 
						
							
							
								
								Eliminate most uses of the machine instruction vector for each LLVM instr,  
							
							 
							
							... 
							
							
							
							since some m. instr. may be generated by LLVM instrs. in other blocks.
Handle non-SSA (anti and output) edges and true edges uniformly by
working with machine instructions alone.
llvm-svn: 1269 
							
						 
						
							2001-11-12 18:53:43 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								9f246e65d3 
								
							 
						 
						
							
							
								
								Added phi elimination code - not final  
							
							 
							
							... 
							
							
							
							llvm-svn: 1264 
							
						 
						
							2001-11-12 14:44:50 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6e004c0818 
								
							 
						 
						
							
							
								
								Improved printing routines.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1263 
							
						 
						
							2001-11-12 14:19:47 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								dff0a891c1 
								
							 
						 
						
							
							
								
								Major improvement to how nodes are built for a BB.  
							
							 
							
							... 
							
							
							
							LLVM instruction is no longer recorded in each node, but BB is.
llvm-svn: 1262 
							
						 
						
							2001-11-12 14:18:01 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3b02a35a80 
								
							 
						 
						
							
							
								
								Adjust all stack variable offsets to be aligned by size.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1261 
							
						 
						
							2001-11-12 05:17:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1d5c6e0939 
								
							 
						 
						
							
							
								
								Fix errors in computing downgrowing offsets, and in  
							
							 
							
							... 
							
							
							
							computing size of extra outgoing args.
llvm-svn: 1256 
							
						 
						
							2001-11-11 21:23:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6cd83556e6 
								
							 
						 
						
							
							
								
								Only add true dep. edges from an earlier to a later instruction.  
							
							 
							
							... 
							
							
							
							This wasn't a problem until we started putting copies for Phi values
that produced cycles in the SchedGraph!
llvm-svn: 1254 
							
						 
						
							2001-11-11 01:23:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								d1d5e97431 
								
							 
						 
						
							
							
								
								Changed code to ignore Phi Nodes in PhyRegAlloc  
							
							 
							
							... 
							
							
							
							llvm-svn: 1253 
							
						 
						
							2001-11-10 21:21:36 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								31305c0d57 
								
							 
						 
						
							
							
								
								Coalesing bug fix - now checks for the same regType instead of the same  
							
							 
							
							... 
							
							
							
							regClass since FP class has two reg Types.
llvm-svn: 1236 
							
						 
						
							2001-11-10 00:20:24 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								d499a26116 
								
							 
						 
						
							
							
								
								No major change  
							
							 
							
							... 
							
							
							
							llvm-svn: 1235 
							
						 
						
							2001-11-09 23:49:42 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								313a36f2d3 
								
							 
						 
						
							
							
								
								Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().  
							
							 
							
							... 
							
							
							
							Much nicer.
llvm-svn: 1223 
							
						 
						
							2001-11-09 02:14:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2b48b9694c 
								
							 
						 
						
							
							
								
								Add method decl  
							
							 
							
							... 
							
							
							
							llvm-svn: 1217 
							
						 
						
							2001-11-08 20:55:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								dc709780aa 
								
							 
						 
						
							
							
								
								corrected insertCode4Spilled ...  bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1212 
							
						 
						
							2001-11-08 19:11:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								19a5165c29 
								
							 
						 
						
							
							
								
								Uncommented LR spill code insertion  
							
							 
							
							... 
							
							
							
							llvm-svn: 1207 
							
						 
						
							2001-11-08 16:43:25 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								621b90440b 
								
							 
						 
						
							
							
								
								Major change to how defs are found when adding dependences (they  
							
							 
							
							... 
							
							
							
							are now found as part of the initial walk of the machine code).
Also memory load/store instructions can be generated for non-memory
LLVM instructions, which wasn't handled before.  It is now.
llvm-svn: 1199 
							
						 
						
							2001-11-08 05:20:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								80310bba37 
								
							 
						 
						
							
							
								
								MachineCodeForMethod is now an annotation on class Method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1198 
							
						 
						
							2001-11-08 05:18:18 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								bdbb802c2f 
								
							 
						 
						
							
							
								
								Added two minor methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1187 
							
						 
						
							2001-11-08 04:49:52 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								d9f8598104 
								
							 
						 
						
							
							
								
								Removed class RegStackOffsets and used class MachineCodeForMethod  
							
							 
							
							... 
							
							
							
							directly to manage stack frame.
llvm-svn: 1186 
							
						 
						
							2001-11-08 04:48:50 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c53037205b 
								
							 
						 
						
							
							
								
								Major overhaul of stack frame management.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1185 
							
						 
						
							2001-11-08 04:47:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								074d52d60d 
								
							 
						 
						
							
							
								
								Fixed bug - added code in pushUnconstrainedIGNodes() to check whether a node  
							
							 
							
							... 
							
							
							
							is already pushed to stack by a previous call to the same method.
llvm-svn: 1154 
							
						 
						
							2001-11-06 15:25:38 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								928833ecea 
								
							 
						 
						
							
							
								
								Bug fix: uninitialized variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1147 
							
						 
						
							2001-11-06 05:11:05 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								596721384b 
								
							 
						 
						
							
							
								
								Modified graph construction to use one pass to find all defs.  
							
							 
							
							... 
							
							
							
							Avoids having to handle some special cases that cause complex interactions
with instr. selection.
llvm-svn: 1138 
							
						 
						
							2001-11-05 04:04:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								59a13288a6 
								
							 
						 
						
							
							
								
								Make reg. numbers signed ints.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1137 
							
						 
						
							2001-11-05 03:56:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								33d9cb9903 
								
							 
						 
						
							
							
								
								Minor method rename  
							
							 
							
							... 
							
							
							
							llvm-svn: 1119 
							
						 
						
							2001-11-04 08:08:34 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								471babe2d2 
								
							 
						 
						
							
							
								
								Added an assertion since it seems like AdjList returns an errornous size in method  
							
							 
							
							... 
							
							
							
							IGNode::pushOnStack().
llvm-svn: 1116 
							
						 
						
							2001-11-03 22:01:09 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								51fc1c2d72 
								
							 
						 
						
							
							
								
								Added support for correct spilling of %ccr  
							
							 
							
							... 
							
							
							
							llvm-svn: 1112 
							
						 
						
							2001-11-03 20:41:22 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								ca632ed71a 
								
							 
						 
						
							
							
								
								Arranged stack frame - needs furhter organization  
							
							 
							
							... 
							
							
							
							llvm-svn: 1108 
							
						 
						
							2001-11-03 17:14:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								b7a397253f 
								
							 
						 
						
							
							
								
								Arranged stack frame - needs furhter organization  
							
							 
							
							... 
							
							
							
							Moved InsertCallerSaveInstr to the SparcRegInfo.cpp
llvm-svn: 1106 
							
						 
						
							2001-11-03 17:13:27 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								33ec4a3c23 
								
							 
						 
						
							
							
								
								Record constants that need to be emitted in the assembly code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 1010 
							
						 
						
							2001-10-28 21:46:23 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								979800ede8 
								
							 
						 
						
							
							
								
								Allow combinations of True/Anti/Output flags for each edge to  
							
							 
							
							... 
							
							
							
							support, e.g., dependences on Call instructions.
llvm-svn: 1009 
							
						 
						
							2001-10-28 21:45:02 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								df6913549a 
								
							 
						 
						
							
							
								
								Add edges between call instructions and (a) load/store instructions, and  
							
							 
							
							... 
							
							
							
							(b) any instructions that use or set CC registers.  Whether or not the
latter are needed really should be machine-dependent.
llvm-svn: 1008 
							
						 
						
							2001-10-28 21:43:33 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								9c38dbc249 
								
							 
						 
						
							
							
								
								Added support for spilling  
							
							 
							
							... 
							
							
							
							llvm-svn: 992 
							
						 
						
							2001-10-28 18:15:12 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								321ed7be93 
								
							 
						 
						
							
							
								
								Added spill code support; moved insertCallerSaving to SparRegInfo since  
							
							 
							
							... 
							
							
							
							we need to handle %ccr reg in a special way.
llvm-svn: 990 
							
						 
						
							2001-10-28 18:12:02 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								33b0d85f65 
								
							 
						 
						
							
							
								
								added support to move "added instructions" after the delay slot  
							
							 
							
							... 
							
							
							
							llvm-svn: 968 
							
						 
						
							2001-10-23 21:38:42 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								c300c6ba58 
								
							 
						 
						
							
							
								
								Added support to move "added instructions" after the delay slot  
							
							 
							
							... 
							
							
							
							llvm-svn: 967 
							
						 
						
							2001-10-23 21:38:00 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								901da32e64 
								
							 
						 
						
							
							
								
								Use class MachineCodeForMethod to print machine code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 948 
							
						 
						
							2001-10-22 13:52:03 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								cc80b02834 
								
							 
						 
						
							
							
								
								Added class MachineCodeForMethod.  
							
							 
							
							... 
							
							
							
							llvm-svn: 947 
							
						 
						
							2001-10-22 13:51:33 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3686293bd2 
								
							 
						 
						
							
							
								
								Cosmetic changes only.  
							
							 
							
							... 
							
							
							
							llvm-svn: 946 
							
						 
						
							2001-10-22 13:51:09 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9a6457388f 
								
							 
						 
						
							
							
								
								Modify code that processes delay slots so that it preserves any  
							
							 
							
							... 
							
							
							
							useful instructions already inserted into delay slots.
llvm-svn: 945 
							
						 
						
							2001-10-22 13:49:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								24729a34ce 
								
							 
						 
						
							
							
								
								Added support for both call/jmpl instructions  
							
							 
							
							... 
							
							
							
							llvm-svn: 930 
							
						 
						
							2001-10-21 16:43:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								53516cd05b 
								
							 
						 
						
							
							
								
								Added code to support unusable Suggested Colors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 922 
							
						 
						
							2001-10-19 21:42:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								01c55ba00c 
								
							 
						 
						
							
							
								
								Added code to PhyRegAlloc to mark unusable suggested regs  
							
							 
							
							... 
							
							
							
							Added initialization to AdjList to IGNode constructor - major bug fix
llvm-svn: 920 
							
						 
						
							2001-10-19 21:39:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								6275a04aac 
								
							 
						 
						
							
							
								
								Changed Call interference info  
							
							 
							
							... 
							
							
							
							llvm-svn: 917 
							
						 
						
							2001-10-19 17:21:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								09d7a2a496 
								
							 
						 
						
							
							
								
								Corrected call interference bug  
							
							 
							
							... 
							
							
							
							llvm-svn: 916 
							
						 
						
							2001-10-19 17:21:03 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								6b1d2691c6 
								
							 
						 
						
							
							
								
								no major change  
							
							 
							
							... 
							
							
							
							llvm-svn: 914 
							
						 
						
							2001-10-18 23:58:08 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								59e864eb92 
								
							 
						 
						
							
							
								
								Added implict operand printing for operator( ostream, MachineInstr&)  
							
							 
							
							... 
							
							
							
							llvm-svn: 912 
							
						 
						
							2001-10-18 22:40:02 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								0a2990a7c6 
								
							 
						 
						
							
							
								
								removed some debug messages  
							
							 
							
							... 
							
							
							
							llvm-svn: 910 
							
						 
						
							2001-10-18 22:36:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								6d19dc9080 
								
							 
						 
						
							
							
								
								1. Add a bottom-up pass on BURG trees that is used to fix constant operands.  
							
							 
							
							... 
							
							
							
							Needs to be bottom up because constant values may be forward-substituted
   to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
   InstrSelectionSupport.cpp.
llvm-svn: 859 
							
						 
						
							2001-10-17 23:57:50 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ad97e4ed84 
								
							 
						 
						
							
							
								
								Separate VM instruction that generates the instructions that compute a value  
							
							 
							
							... 
							
							
							
							from the value itself (the one causing an edge) because the latter may be
a temporary used within the instruction sequence for the VM instruction.
llvm-svn: 858 
							
						 
						
							2001-10-17 23:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								59cbb6498c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 857 
							
						 
						
							2001-10-17 23:53:16 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								7d23a2bee9 
								
							 
						 
						
							
							
								
								changed debugg message printing - no change to useful code  
							
							 
							
							... 
							
							
							
							llvm-svn: 850 
							
						 
						
							2001-10-16 16:34:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								3d878424d2 
								
							 
						 
						
							
							
								
								No major change - commented some debug code  
							
							 
							
							... 
							
							
							
							llvm-svn: 849 
							
						 
						
							2001-10-16 01:33:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								5b8971f418 
								
							 
						 
						
							
							
								
								Added support for caller saving  
							
							 
							
							... 
							
							
							
							llvm-svn: 847 
							
						 
						
							2001-10-16 01:23:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								24872c8838 
								
							 
						 
						
							
							
								
								Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output  
							
							 
							
							... 
							
							
							
							llvm-svn: 841 
							
						 
						
							2001-10-15 18:30:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3f1e452ea 
								
							 
						 
						
							
							
								
								Output to cerr rather than cout so that debug info doesn't mess up assembly generation  
							
							 
							
							... 
							
							
							
							llvm-svn: 840 
							
						 
						
							2001-10-15 18:15:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								2a6cc8300d 
								
							 
						 
						
							
							
								
								updated suggesting/coloring of call & return args & implicit operands.  
							
							 
							
							... 
							
							
							
							Changed added instr to a deque (from a vector)
llvm-svn: 831 
							
						 
						
							2001-10-15 16:26:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								33535773cb 
								
							 
						 
						
							
							
								
								fixed a coalscing bug  
							
							 
							
							... 
							
							
							
							llvm-svn: 828 
							
						 
						
							2001-10-15 16:22:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2b3369567e 
								
							 
						 
						
							
							
								
								* Fix privacy issues on RegToRefVecMap  
							
							 
							
							... 
							
							
							
							* Fix initialization order problems...
llvm-svn: 762 
							
						 
						
							2001-10-13 06:51:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								7c10e086eb 
								
							 
						 
						
							
							
								
								--corrected coalescing test: coalsed only if two are of the same reg class  
							
							 
							
							... 
							
							
							
							llvm-svn: 729 
							
						 
						
							2001-10-12 17:48:18 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1235b330f7 
								
							 
						 
						
							
							
								
								Add graph edges due to implicit refs in each machine instruction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 724 
							
						 
						
							2001-10-11 04:22:45 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								d50b665acf 
								
							 
						 
						
							
							
								
								Don't insert useful instructions in delay slot of a RETURN.  
							
							 
							
							... 
							
							
							
							llvm-svn: 721 
							
						 
						
							2001-10-10 20:58:11 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								192686db96 
								
							 
						 
						
							
							
								
								Machine-independent code generation routines used in instruction  
							
							 
							
							... 
							
							
							
							selection.  These used to live in several different places before.
llvm-svn: 719 
							
						 
						
							2001-10-10 20:50:43 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c36a504cfe 
								
							 
						 
						
							
							
								
								Moved code generation support routines to InstrSelectionSupport.cpp.  
							
							 
							
							... 
							
							
							
							llvm-svn: 717 
							
						 
						
							2001-10-10 20:49:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								da55810666 
								
							 
						 
						
							
							
								
								Commit more code over to new cast style  
							
							 
							
							... 
							
							
							
							llvm-svn: 697 
							
						 
						
							2001-10-02 03:41:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3856934386 
								
							 
						 
						
							
							
								
								Convert more code to use new style casts  
							
							 
							
							... 
							
							
							
							Eliminate old style casts from value.h
llvm-svn: 696 
							
						 
						
							2001-10-01 20:11:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b717c0edc 
								
							 
						 
						
							
							
								
								Add support for new style casts  
							
							 
							
							... 
							
							
							
							llvm-svn: 694 
							
						 
						
							2001-10-01 16:18:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								acffb966b9 
								
							 
						 
						
							
							
								
								removing phy regaloc - incorrect file  
							
							 
							
							... 
							
							
							
							llvm-svn: 682 
							
						 
						
							2001-09-30 23:52:14 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								813ffcc4f6 
								
							 
						 
						
							
							
								
								Change ! ( ...== ...)  to !=.  
							
							 
							
							... 
							
							
							
							llvm-svn: 680 
							
						 
						
							2001-09-30 23:45:08 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e44abbb99d 
								
							 
						 
						
							
							
								
								Improved dump for disp type operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 679 
							
						 
						
							2001-09-30 23:44:19 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								819635eb7c 
								
							 
						 
						
							
							
								
								Bug fixes:  
							
							 
							
							... 
							
							
							
							(1) Ensure that delay slot instructions are not moved out of place (this
    was happening for some CALL instructions).  Basically, we need to
    move all delay slot instructions out of the graph and handle them
    along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
    in more than one cycle in a single step (due to delay slots).
llvm-svn: 678 
							
						 
						
							2001-09-30 23:43:34 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								f734fc2af7 
								
							 
						 
						
							
							
								
								Minor changes for bug fixes in SchedGraph.cpp.  
							
							 
							
							... 
							
							
							
							llvm-svn: 677 
							
						 
						
							2001-09-30 23:37:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								2b2ca42761 
								
							 
						 
						
							
							
								
								Two bug fixes:  
							
							 
							
							... 
							
							
							
							(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)
llvm-svn: 676 
							
						 
						
							2001-09-30 23:36:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								560b0ad482 
								
							 
						 
						
							
							
								
								added suggesting color support  
							
							 
							
							... 
							
							
							
							llvm-svn: 673 
							
						 
						
							2001-09-30 23:19:57 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								e3b9faddad 
								
							 
						 
						
							
							
								
								--added suggesting colors; call/ret arg handling  
							
							 
							
							... 
							
							
							
							llvm-svn: 670 
							
						 
						
							2001-09-30 23:11:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bb09a10929 
								
							 
						 
						
							
							
								
								Pull iterators out of CFG.h and CFGdecls and put them in Support directory  
							
							 
							
							... 
							
							
							
							llvm-svn: 664 
							
						 
						
							2001-09-28 22:56:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								72727bf358 
								
							 
						 
						
							
							
								
								-- removed debugging messages  
							
							 
							
							... 
							
							
							
							llvm-svn: 651 
							
						 
						
							2001-09-19 22:39:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								213b3621ac 
								
							 
						 
						
							
							
								
								-fixed return value bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 650 
							
						 
						
							2001-09-19 22:31:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								da876eff3c 
								
							 
						 
						
							
							
								
								Change debug info from #define to command line option  
							
							 
							
							... 
							
							
							
							Clean up extra debug info that wasn't guarded
llvm-svn: 647 
							
						 
						
							2001-09-19 16:26:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d89425bb58 
								
							 
						 
						
							
							
								
								Change debug info from #define to command line option  
							
							 
							
							... 
							
							
							
							llvm-svn: 646 
							
						 
						
							2001-09-19 16:26:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1bec3bd0a4 
								
							 
						 
						
							
							
								
								* REMOVE extraneous debug info if DEBUG_RA is not set  
							
							 
							
							... 
							
							
							
							* Spell PhyRegAlloc right.
llvm-svn: 645 
							
						 
						
							2001-09-19 16:09:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								219f777bad 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 634 
							
						 
						
							2001-09-18 22:57:47 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								1f331f258b 
								
							 
						 
						
							
							
								
								-- updated printing  
							
							 
							
							... 
							
							
							
							llvm-svn: 631 
							
						 
						
							2001-09-18 22:43:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1d06a46723 
								
							 
						 
						
							
							
								
								Remove a copy of a bunch of code  
							
							 
							
							... 
							
							
							
							llvm-svn: 630 
							
						 
						
							2001-09-18 18:15:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3c6ce06243 
								
							 
						 
						
							
							
								
								Don't check for null on delete  
							
							 
							
							... 
							
							
							
							llvm-svn: 624 
							
						 
						
							2001-09-18 17:02:42 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								82d1e14e7f 
								
							 
						 
						
							
							
								
								Cast unsigned to int!  It was causing a nice little bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 614 
							
						 
						
							2001-09-18 12:57:39 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								bb81dae651 
								
							 
						 
						
							
							
								
								Minor changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 613 
							
						 
						
							2001-09-18 12:56:28 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								0c51cf0f51 
								
							 
						 
						
							
							
								
								Don't add instructions to subtree for Phi or Call.  
							
							 
							
							... 
							
							
							
							Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)
llvm-svn: 612 
							
						 
						
							2001-09-18 12:54:27 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8656a80661 
								
							 
						 
						
							
							
								
								Format file header.  
							
							 
							
							... 
							
							
							
							llvm-svn: 611 
							
						 
						
							2001-09-18 12:52:03 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								703297cf24 
								
							 
						 
						
							
							
								
								Add new entry/exit edges when removing delay slot nodes from the graph.  
							
							 
							
							... 
							
							
							
							Renamed some header files.
llvm-svn: 610 
							
						 
						
							2001-09-18 12:51:38 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3e8029dc07 
								
							 
						 
						
							
							
								
								Moved erase edge functions to class SchedGraph.  
							
							 
							
							... 
							
							
							
							Add new dummy edges when deleting existing edges.
llvm-svn: 609 
							
						 
						
							2001-09-18 12:50:40 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								270766a210 
								
							 
						 
						
							
							
								
								Renamed some header files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 608 
							
						 
						
							2001-09-18 12:49:39 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								fa64a35a01 
								
							 
						 
						
							
							
								
								Moved erase-edge functions from SchedGraphNode to SchedGraph.  
							
							 
							
							... 
							
							
							
							Renamed some header files.
llvm-svn: 607 
							
						 
						
							2001-09-18 12:49:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								06225084b9 
								
							 
						 
						
							
							
								
								Minor fixes: renamed target machine files; fold sched info into TargetMachine.  
							
							 
							
							... 
							
							
							
							llvm-svn: 603 
							
						 
						
							2001-09-18 12:41:43 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								8efbd10c86 
								
							 
						 
						
							
							
								
								modified machine code printing  
							
							 
							
							... 
							
							
							
							llvm-svn: 595 
							
						 
						
							2001-09-15 21:11:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								86b2ad4b7c 
								
							 
						 
						
							
							
								
								--added methods for printing  
							
							 
							
							... 
							
							
							
							llvm-svn: 592 
							
						 
						
							2001-09-15 19:08:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								bae3812a95 
								
							 
						 
						
							
							
								
								added setRegForValue to MachineOperand class  
							
							 
							
							... 
							
							
							
							llvm-svn: 591 
							
						 
						
							2001-09-15 19:07:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								6fd9532e54 
								
							 
						 
						
							
							
								
								fixed printing messages  
							
							 
							
							... 
							
							
							
							llvm-svn: 590 
							
						 
						
							2001-09-15 19:06:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								fe0292e68d 
								
							 
						 
						
							
							
								
								-- debug messages dissabled  
							
							 
							
							... 
							
							
							
							llvm-svn: 589 
							
						 
						
							2001-09-15 16:54:40 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								f60342a231 
								
							 
						 
						
							
							
								
								--reg alloc code added  
							
							 
							
							... 
							
							
							
							llvm-svn: 587 
							
						 
						
							2001-09-15 00:33:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								671428c8a7 
								
							 
						 
						
							
							
								
								-reg alloc code  
							
							 
							
							... 
							
							
							
							llvm-svn: 586 
							
						 
						
							2001-09-15 00:31:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								11002a7b93 
								
							 
						 
						
							
							
								
								added RegAlloc Directory to DIRS  
							
							 
							
							... 
							
							
							
							llvm-svn: 581 
							
						 
						
							2001-09-14 21:28:17 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								808568eafc 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 580 
							
						 
						
							2001-09-14 21:18:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7f155e10f6 
								
							 
						 
						
							
							
								
								Add a forward decl, oops.  
							
							 
							
							... 
							
							
							
							llvm-svn: 573 
							
						 
						
							2001-09-14 17:55:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8d44b99844 
								
							 
						 
						
							
							
								
								Chris seems fond of #include <vector>.  Fix these. Also convert use list in  
							
							 
							
							... 
							
							
							
							Value to a vector instead of a list.
Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling
llvm-svn: 572 
							
						 
						
							2001-09-14 16:56:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								87b3bf630b 
								
							 
						 
						
							
							
								
								Split Target/Machine.h into three files:  
							
							 
							
							... 
							
							
							
							* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
llvm-svn: 567 
							
						 
						
							2001-09-14 06:08:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								22a6a90511 
								
							 
						 
						
							
							
								
								Make a new llvm/Target #include directory.  
							
							 
							
							... 
							
							
							
							Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
llvm-svn: 566 
							
						 
						
							2001-09-14 05:34:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f8464e4b8d 
								
							 
						 
						
							
							
								
								Checkin changes to:  
							
							 
							
							... 
							
							
							
							1. Clean up the TargetMachine structure.  No more wierd pointers that have to
   be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument.  The same
   should be done with the instinfo, it just isn't now.
llvm-svn: 565 
							
						 
						
							2001-09-14 04:32:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								06028541ab 
								
							 
						 
						
							
							
								
								Move the sparc target to a new lib/Target directory  
							
							 
							
							... 
							
							
							
							llvm-svn: 562 
							
						 
						
							2001-09-14 03:55:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fc1e0f33fa 
								
							 
						 
						
							
							
								
								Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc  
							
							 
							
							... 
							
							
							
							llvm-svn: 560 
							
						 
						
							2001-09-14 03:46:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0a823a062c 
								
							 
						 
						
							
							
								
								This checkin represents some cleanup of the backend, implementing the following things:  
							
							 
							
							... 
							
							
							
							1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory.  The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
llvm-svn: 559 
							
						 
						
							2001-09-14 03:37:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2124f99556 
								
							 
						 
						
							
							
								
								Updates to use local header files.  
							
							 
							
							... 
							
							
							
							Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.
llvm-svn: 557 
							
						 
						
							2001-09-14 03:33:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f8459bb199 
								
							 
						 
						
							
							
								
								More cleanups, preparing to revamp InstrForest to, among other things,  
							
							 
							
							... 
							
							
							
							not leak all its allocated memory.
llvm-svn: 553 
							
						 
						
							2001-09-12 16:34:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								16dd09a7bb 
								
							 
						 
						
							
							
								
								* Clean up InstrForest  
							
							 
							
							... 
							
							
							
							* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
        seteq int *%x, %y
        ret void
end
llvm-svn: 552 
							
						 
						
							2001-09-12 01:28:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cc38da77e8 
								
							 
						 
						
							
							
								
								Eliminate 'BasicNode' from InstrForest.  
							
							 
							
							... 
							
							
							
							llvm-svn: 551 
							
						 
						
							2001-09-11 23:52:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								706ee8e5ec 
								
							 
						 
						
							
							
								
								Eliminate MainTreeNode function  
							
							 
							
							... 
							
							
							
							llvm-svn: 550 
							
						 
						
							2001-09-11 23:22:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a7d3b8dca1 
								
							 
						 
						
							
							
								
								Remove irrelevant gross K&R Cisms  
							
							 
							
							... 
							
							
							
							llvm-svn: 549 
							
						 
						
							2001-09-11 23:13:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e014d797b4 
								
							 
						 
						
							
							
								
								Use type checking predicates  
							
							 
							
							... 
							
							
							
							llvm-svn: 543 
							
						 
						
							2001-09-10 20:10:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5a01692836 
								
							 
						 
						
							
							
								
								Use correct casts  
							
							 
							
							... 
							
							
							
							llvm-svn: 542 
							
						 
						
							2001-09-10 20:10:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aeaba8a2ee 
								
							 
						 
						
							
							
								
								Use predicate for Value type test  
							
							 
							
							... 
							
							
							
							Use builtin casts
llvm-svn: 541 
							
						 
						
							2001-09-10 20:09:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44a45af61b 
								
							 
						 
						
							
							
								
								Use predicate for Value type test  
							
							 
							
							... 
							
							
							
							llvm-svn: 540 
							
						 
						
							2001-09-10 20:09:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								acfa507663 
								
							 
						 
						
							
							
								
								Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks  
							
							 
							
							... 
							
							
							
							llvm-svn: 531 
							
						 
						
							2001-09-10 19:43:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a461b05207 
								
							 
						 
						
							
							
								
								Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.  Remove the two support functions to inline their contents.  
							
							 
							
							... 
							
							
							
							llvm-svn: 525 
							
						 
						
							2001-09-09 23:01:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e4fe7bc4a5 
								
							 
						 
						
							
							
								
								Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.  
							
							 
							
							... 
							
							
							
							llvm-svn: 524 
							
						 
						
							2001-09-09 23:01:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c49f5f35db 
								
							 
						 
						
							
							
								
								Fix problems with freeing memory twice  
							
							 
							
							... 
							
							
							
							llvm-svn: 520 
							
						 
						
							2001-09-09 22:26:29 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								b606fcb3e0 
								
							 
						 
						
							
							
								
								Handle cast float-to-float or cast double-to-double.  
							
							 
							
							... 
							
							
							
							llvm-svn: 512 
							
						 
						
							2001-09-09 20:35:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								57de997eff 
								
							 
						 
						
							
							
								
								Fix build breakage. :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 511 
							
						 
						
							2001-09-09 19:52:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								facf074632 
								
							 
						 
						
							
							
								
								I really don't like it when people break the build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 510 
							
						 
						
							2001-09-09 19:41:52 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								f5788aa837 
								
							 
						 
						
							
							
								
								Committed for compliation. Not yet final.  
							
							 
							
							... 
							
							
							
							--Ruchira
llvm-svn: 505 
							
						 
						
							2001-09-08 14:22:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								e5d0fb8eee 
								
							 
						 
						
							
							
								
								--Ruchira  
							
							 
							
							... 
							
							
							
							llvm-svn: 504 
							
						 
						
							2001-09-08 14:10:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								064286b9cf 
								
							 
						 
						
							
							
								
								Updates to work with new lack of constant pool  
							
							 
							
							... 
							
							
							
							llvm-svn: 490 
							
						 
						
							2001-09-07 21:22:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e99c9acb84 
								
							 
						 
						
							
							
								
								Remove unneeded #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 489 
							
						 
						
							2001-09-07 21:22:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b7d0c37f5c 
								
							 
						 
						
							
							
								
								Remove unnecesary #include add dump calls pulled out of .h file  
							
							 
							
							... 
							
							
							
							llvm-svn: 488 
							
						 
						
							2001-09-07 21:21:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bbf765695f 
								
							 
						 
						
							
							
								
								* Remove lots of #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 487 
							
						 
						
							2001-09-07 21:19:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								feb62c321e 
								
							 
						 
						
							
							
								
								Add tags so emacs knows these are C++ files  
							
							 
							
							... 
							
							
							
							llvm-svn: 483 
							
						 
						
							2001-09-07 21:04:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								23fcc08d38 
								
							 
						 
						
							
							
								
								The header file for a translation unit should always be included first  
							
							 
							
							... 
							
							
							
							System headers should be last
llvm-svn: 475 
							
						 
						
							2001-09-07 17:18:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								74d07801bf 
								
							 
						 
						
							
							
								
								A file should always include it's private header file *FIRST* see the  
							
							 
							
							... 
							
							
							
							coding guidelines
llvm-svn: 474 
							
						 
						
							2001-09-07 17:15:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4eb6d9fd85 
								
							 
						 
						
							
							
								
								annotations are now const  
							
							 
							
							... 
							
							
							
							llvm-svn: 450 
							
						 
						
							2001-09-07 16:40:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								4d30f4bb6c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 412 
							
						 
						
							2001-08-31 20:59:58 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								10db4c2551 
								
							 
						 
						
							
							
								
								Added nonterminals for arithmetic operations where one operand is constant.  
							
							 
							
							... 
							
							
							
							llvm-svn: 406 
							
						 
						
							2001-08-28 23:25:46 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								59a091870a 
								
							 
						 
						
							
							
								
								Makefile for InstrSched/  
							
							 
							
							... 
							
							
							
							llvm-svn: 403 
							
						 
						
							2001-08-28 23:17:22 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								27713047f4 
								
							 
						 
						
							
							
								
								Remove source list.  
							
							 
							
							... 
							
							
							
							llvm-svn: 402 
							
						 
						
							2001-08-28 23:16:59 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ebfa4bd437 
								
							 
						 
						
							
							
								
								Added directory InstrSched.  
							
							 
							
							... 
							
							
							
							llvm-svn: 401 
							
						 
						
							2001-08-28 23:16:13 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								245b5b0691 
								
							 
						 
						
							
							
								
								Major changes too hard to document :-)  
							
							 
							
							... 
							
							
							
							llvm-svn: 400 
							
						 
						
							2001-08-28 23:12:57 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								23e59b70cd 
								
							 
						 
						
							
							
								
								Extensive additions for supporting instruction scheduling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 398 
							
						 
						
							2001-08-28 23:10:41 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								742086f200 
								
							 
						 
						
							
							
								
								Added class MachineSchedInfo and several supporting classes  
							
							 
							
							... 
							
							
							
							as a machine description for instruction scheduling.
llvm-svn: 397 
							
						 
						
							2001-08-28 23:09:36 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3148b83485 
								
							 
						 
						
							
							
								
								Implementation of instruction scheduling for LLVM.  
							
							 
							
							... 
							
							
							
							Currently schedules one basic block at a time.
llvm-svn: 396 
							
						 
						
							2001-08-28 23:07:19 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								138c3bb667 
								
							 
						 
						
							
							
								
								Class that encapsulates priority heuristics for instruction scheduling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 395 
							
						 
						
							2001-08-28 23:06:49 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								754c4dd6ae 
								
							 
						 
						
							
							
								
								Scheduling DAG for instruction scheduling.  Currently for a single basic block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 394 
							
						 
						
							2001-08-28 23:06:02 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								8641f9dca0 
								
							 
						 
						
							
							
								
								Moved debug options declaration to header file, and moved  
							
							 
							
							... 
							
							
							
							a function to MachineInstr.cpp.
llvm-svn: 393 
							
						 
						
							2001-08-28 23:04:38 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								5f72f42aee 
								
							 
						 
						
							
							
								
								Moved function PrintMachineInstructions here.  
							
							 
							
							... 
							
							
							
							llvm-svn: 392 
							
						 
						
							2001-08-28 23:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b6aa2334f4 
								
							 
						 
						
							
							
								
								I suck  
							
							 
							
							... 
							
							
							
							llvm-svn: 385 
							
						 
						
							2001-08-27 18:54:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								53bbf0783b 
								
							 
						 
						
							
							
								
								Initial checkin of TargetData code  
							
							 
							
							... 
							
							
							
							llvm-svn: 384 
							
						 
						
							2001-08-27 16:00:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c5cbe3f60 
								
							 
						 
						
							
							
								
								Convert to use the new factored out TargetData class  
							
							 
							
							... 
							
							
							
							llvm-svn: 381 
							
						 
						
							2001-08-27 15:51:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8dd99f33ea 
								
							 
						 
						
							
							
								
								Factor code out to the TargetData class  
							
							 
							
							... 
							
							
							
							llvm-svn: 380 
							
						 
						
							2001-08-27 15:50:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								827c2a1d7c 
								
							 
						 
						
							
							
								
								Demolish explicit source list  
							
							 
							
							... 
							
							
							
							llvm-svn: 375 
							
						 
						
							2001-08-27 05:18:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f04f646c1b 
								
							 
						 
						
							
							
								
								Remove explicit source list  
							
							 
							
							... 
							
							
							
							llvm-svn: 371 
							
						 
						
							2001-08-25 20:40:32 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1700068262 
								
							 
						 
						
							
							
								
								Always set isDef for operand in position resultPos.  
							
							 
							
							... 
							
							
							
							llvm-svn: 357 
							
						 
						
							2001-08-13 16:32:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								6dec5fe042 
								
							 
						 
						
							
							
								
								Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the  
							
							 
							
							... 
							
							
							
							result position is a def (i.e., added true to the end of call) -- Ruchira
llvm-svn: 356 
							
						 
						
							2001-08-13 16:26:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								20429a47e5 
								
							 
						 
						
							
							
								
								Changed case 64 to make the first arg of phi a defintion  
							
							 
							
							... 
							
							
							
							llvm-svn: 355 
							
						 
						
							2001-08-13 16:24:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								c82322c526 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 351 
							
						 
						
							2001-08-07 21:01:23 +00:00  
						
					 
				
					
						
							
							
								 
								Ruchira Sasanka
							
						 
						
							 
							
							
							
							
								
							
							
								4ac2975f5a 
								
							 
						 
						
							
							
								
								added a default isDef arg to SetMachineOperand method - Ruchira  
							
							 
							
							... 
							
							
							
							llvm-svn: 350 
							
						 
						
							2001-08-07 20:16:52 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								22db4f9b7c 
								
							 
						 
						
							
							
								
								Add CC operand as 4th operand of SUBcc, and mark it as a def.  
							
							 
							
							... 
							
							
							
							llvm-svn: 348 
							
						 
						
							2001-08-06 21:06:10 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								45317ad6cc 
								
							 
						 
						
							
							
								
								Also, move burg rule to Makefile.common.  
							
							 
							
							... 
							
							
							
							llvm-svn: 346 
							
						 
						
							2001-08-06 19:06:56 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ed242ccea0 
								
							 
						 
						
							
							
								
								Better still, lets move pathname for Burg to Makefile.common.  
							
							 
							
							... 
							
							
							
							llvm-svn: 344 
							
						 
						
							2001-08-06 19:01:45 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								058ff319fd 
								
							 
						 
						
							
							
								
								Use full pathname for burg.  
							
							 
							
							... 
							
							
							
							llvm-svn: 342 
							
						 
						
							2001-08-06 18:53:26 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								527c8955de 
								
							 
						 
						
							
							
								
								Simplify command line options, and add option for printing  
							
							 
							
							... 
							
							
							
							machine instructions without debugging info.
llvm-svn: 340 
							
						 
						
							2001-07-31 21:53:25 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c746fbb806 
								
							 
						 
						
							
							
								
								Added tree nodes for Phi instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 338 
							
						 
						
							2001-07-31 21:50:29 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								1c73bc1c1f 
								
							 
						 
						
							
							
								
								Generate tree nodes for Phi instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 337 
							
						 
						
							2001-07-31 21:49:53 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ff7070bbb9 
								
							 
						 
						
							
							
								
								Allow machine instructions with variable numbers of arguments.  
							
							 
							
							... 
							
							
							
							This is used only by Phi for now.
llvm-svn: 336 
							
						 
						
							2001-07-31 21:49:28 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								e335821b08 
								
							 
						 
						
							
							
								
								Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).  
							
							 
							
							... 
							
							
							
							llvm-svn: 334 
							
						 
						
							2001-07-31 21:46:57 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								da0c7d89bc 
								
							 
						 
						
							
							
								
								Record machine instructions in the vector for each basic block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 331 
							
						 
						
							2001-07-30 18:48:43 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								50204f5daa 
								
							 
						 
						
							
							
								
								Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.  
							
							 
							
							... 
							
							
							
							Relevant changes elsewhere:
Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.
llvm-svn: 311 
							
						 
						
							2001-07-28 04:19:10 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								985b6e3d13 
								
							 
						 
						
							
							
								
								Eliminate unused function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 310 
							
						 
						
							2001-07-28 04:15:45 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								150460321e 
								
							 
						 
						
							
							
								
								Bug fixes:  
							
							 
							
							... 
							
							
							
							Store bool result in register after SetCC if the bool value
is used by anything other than a branch.
Forward-substitute operand of a VM instruction for which no
machine instruction is generated (e.g., Cast).
Other changes due to changes to classes TargetMachine and MachineInstr.
llvm-svn: 309 
							
						 
						
							2001-07-28 04:15:15 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								c429691751 
								
							 
						 
						
							
							
								
								Added MachineInstrInfo class and moved instruction-related members there.  
							
							 
							
							... 
							
							
							
							Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.
llvm-svn: 308 
							
						 
						
							2001-07-28 04:09:37 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								bff682dfac 
								
							 
						 
						
							
							
								
								Eliminate separate enum for operand register type.  
							
							 
							
							... 
							
							
							
							Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.
llvm-svn: 307 
							
						 
						
							2001-07-28 04:06:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ab0cc40796 
								
							 
						 
						
							
							
								
								CommandLine library cleanup.  No longer use getValue/setValue, instead, just treat the commandline  
							
							 
							
							... 
							
							
							
							args as the objects they represent and the "right thing" will happen
llvm-svn: 283 
							
						 
						
							2001-07-23 19:27:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								78a307b170 
								
							 
						 
						
							
							
								
								Eliminated the Unique class in favor of NonCopyable and NonCopyableV  
							
							 
							
							... 
							
							
							
							llvm-svn: 280 
							
						 
						
							2001-07-23 18:26:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e2472bbf6c 
								
							 
						 
						
							
							
								
								Moved inline/llvm/Tools/* to include/llvm/Support/*  
							
							 
							
							... 
							
							
							
							llvm-svn: 279 
							
						 
						
							2001-07-23 17:46:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44187dbff1 
								
							 
						 
						
							
							
								
								Clean up hash table usage  
							
							 
							
							... 
							
							
							
							Remove opaque pointer used for C compatibility which isn't an issue
llvm-svn: 275 
							
						 
						
							2001-07-23 03:50:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d8f1cc98e8 
								
							 
						 
						
							
							
								
								Removal of the redundant CompileContext wrapper  
							
							 
							
							... 
							
							
							
							llvm-svn: 274 
							
						 
						
							2001-07-23 03:09:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0af2464a78 
								
							 
						 
						
							
							
								
								Large scale changes to implement new command line argument facility  
							
							 
							
							... 
							
							
							
							llvm-svn: 272 
							
						 
						
							2001-07-23 02:35:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9c0f8f24e0 
								
							 
						 
						
							
							
								
								Privatize LLCOptions.  It had no business being visible to the entire  
							
							 
							
							... 
							
							
							
							program.
llvm-svn: 267 
							
						 
						
							2001-07-22 04:40:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b299068101 
								
							 
						 
						
							
							
								
								Eliminate lots of unnecessary #includes and forward decls  
							
							 
							
							... 
							
							
							
							there are probably more to kill
llvm-svn: 261 
							
						 
						
							2001-07-21 23:24:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7769970e16 
								
							 
						 
						
							
							
								
								Eliminate many unneccesary #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 260 
							
						 
						
							2001-07-21 22:59:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7cad6f14b8 
								
							 
						 
						
							
							
								
								Make code fit in 80 columns more  
							
							 
							
							... 
							
							
							
							llvm-svn: 259 
							
						 
						
							2001-07-21 22:57:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eb68f3263c 
								
							 
						 
						
							
							
								
								Remove unneccesary #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 258 
							
						 
						
							2001-07-21 22:53:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								293e80559c 
								
							 
						 
						
							
							
								
								Exterminate nasty Cisms  
							
							 
							
							... 
							
							
							
							llvm-svn: 257 
							
						 
						
							2001-07-21 22:42:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bdb56b1639 
								
							 
						 
						
							
							
								
								Refer to include/llvm/CodeGen not Codegen  
							
							 
							
							... 
							
							
							
							llvm-svn: 256 
							
						 
						
							2001-07-21 22:32:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd511760d9 
								
							 
						 
						
							
							
								
								Renamed include/llvm/Codegen to include/llvm/CodeGen  
							
							 
							
							... 
							
							
							
							llvm-svn: 253 
							
						 
						
							2001-07-21 20:58:30 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								656823944e 
								
							 
						 
						
							
							
								
								Description of the SPARC as a target architecture.  
							
							 
							
							... 
							
							
							
							llvm-svn: 233 
							
						 
						
							2001-07-21 12:42:19 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								3414e78e29 
								
							 
						 
						
							
							
								
								Base clas for a description of a target architecture.  
							
							 
							
							... 
							
							
							
							llvm-svn: 232 
							
						 
						
							2001-07-21 12:42:08 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								ab9e557102 
								
							 
						 
						
							
							
								
								Instruction selection via pattern matching on instruction trees using BURG.  
							
							 
							
							... 
							
							
							
							llvm-svn: 231 
							
						 
						
							2001-07-21 12:41:50 +00:00  
						
					 
				
					
						
							
							
								 
								Vikram S. Adve
							
						 
						
							 
							
							
							
							
								
							
							
								9c049ca36c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							 
							
							... 
							
							
							
							llvm-svn: 230 
							
						 
						
							2001-07-21 12:41:01 +00:00