Chris Lattner 
							
						 
					 
					
						
						
							
						
						230b4fb8a0 
					 
					
						
						
							
							Revert patches 1.79 and 1.80 which had to do with dead MBB's.  Now that they  
						
						... 
						
						
						
						don't exist, we don't have to pretend to handle them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14567  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-02 05:52:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8490f9c92e 
					 
					
						
						
							
							Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s  
						
						... 
						
						
						
						use them instead of a local LiveVariables numbering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14523  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-01 06:15:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8ba9771549 
					 
					
						
						
							
							Start using MBB numbers directly instead of going through the live variables  
						
						... 
						
						
						
						map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-01 04:29:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						91a350ddd1 
					 
					
						
						
							
							In line with the previous patch, do not assert out if analyzing a dead basic block.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-29 07:16:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						59850a8f8f 
					 
					
						
						
							
							Do not dereference end iterators.  It hurts when you do that.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14474  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-29 06:56:51 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						b140762a45 
					 
					
						
						
							
							Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-25 00:13:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						418da55c89 
					 
					
						
						
							
							Rename Interval class to LiveInterval to avoid conflicting with the already  
						
						... 
						
						
						
						existing llvm::Interval class.
Patch contributed by Vladimir Prus!
http://mail.cs.uiuc.edu/pipermail/llvmbugs/2004-June/000710.html 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14281  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-21 13:10:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9bcdcd17c7 
					 
					
						
						
							
							Adjust to new TargetMachine interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13956  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-02 05:57:12 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						6924063bf2 
					 
					
						
						
							
							Pull Interval class out of LiveIntervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-30 07:46:27 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						26f5a69e52 
					 
					
						
						
							
							When spilling an register, introduce a new temporary for each of its  
						
						... 
						
						
						
						spills. This allows for more flexibility when allocating registers for
spill code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13907  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-30 07:24:39 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						f717a05698 
					 
					
						
						
							
							Remove defs vector from live intervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13892  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-29 16:18:57 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						feab248c93 
					 
					
						
						
							
							Remove unneeded header  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-08 03:49:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a19eedeb7a 
					 
					
						
						
							
							numeric_limits::infinity() apparently does not work on all systems.  As a  
						
						... 
						
						
						
						workaround, use the C HUGE_VAL macro instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13377  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-06 16:25:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						015959ee38 
					 
					
						
						
							
							Operate on the Machine CFG instead of on the LLVM CFG  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13302  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-01 21:24:39 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						6e4d0d6546 
					 
					
						
						
							
							Fix bug introduced in previous commit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12872  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-12 20:26:39 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						43b61f724e 
					 
					
						
						
							
							Correctly compute spill weights  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12869  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-12 17:39:20 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						e633352fd5 
					 
					
						
						
							
							Print def lists a bit more compactly  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-12 15:57:58 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						9a8b490735 
					 
					
						
						
							
							Add definition list to each live interval.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12791  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-09 18:07:57 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						39354c99a1 
					 
					
						
						
							
							Change MRegisterInfo::foldMemoryOperand to return the folded  
						
						... 
						
						
						
						instruction to make the API more flexible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12386  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-14 07:19:51 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						5f37502bfb 
					 
					
						
						
							
							Add the long awaited memory operand folding support for linear scan  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-01 20:05:10 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						71e353ed35 
					 
					
						
						
							
							Uncomment assertions that register# != 0 on calls to  
						
						... 
						
						
						
						MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11882  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-26 22:00:20 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						98e17cf543 
					 
					
						
						
							
							Move LiveIntervals.h up to be the first included header  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-23 01:01:21 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						a2f6a408dc 
					 
					
						
						
							
							Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11719  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-23 00:50:15 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						0f338a1e8c 
					 
					
						
						
							
							Print basic block boundaries in machine instruction debug output.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-22 05:46:04 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						7200c6b82a 
					 
					
						
						
							
							Abstract merging of ranges away from number of slots per instruction.  
						
						... 
						
						
						
						Also make it less aggressive as the current implementation breaks in
some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11696  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-22 04:05:13 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						d6f6d1a80d 
					 
					
						
						
							
							Make 'fold' statistic's description the same in both allocators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-21 18:07:33 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						007726ca6f 
					 
					
						
						
							
							Some more statistics improvements.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11676  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-20 20:53:26 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						df158c7e3f 
					 
					
						
						
							
							Disambiguate statistic descriptions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11675  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-20 20:46:49 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						cea4471120 
					 
					
						
						
							
							Rename statistic and add another one.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-20 20:43:08 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						39a0d5c112 
					 
					
						
						
							
							Too many changes in one commit:  
						
						... 
						
						
						
						1. LiveIntervals now implement a 4 slot per instruction model. Load,
   Use, Def and a Store slot. This is required in order to correctly
   represent caller saved register clobbering on function calls,
   register reuse in the same instruction (def resues last use) and
   also spill code added later by the allocator. The previous
   representation (2 slots per instruction) was insufficient and as a
   result was causing subtle bugs.
2. Fixes in spill code generation. This was the major cause of
   failures in the test suite.
3. Linear scan now has core support for folding memory operands. This
   is untested and not enabled (the live interval update function does
   not attempt to fold loads/stores in instructions).
4. Lots of improvements in the debugging output of both live intervals
   and linear scan. Give it a try... it is beautiful :-)
In summary the above fixes all the issues with the recent reserved
register elimination changes and get the allocator very close to the
next big step: folding memory operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11654  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-20 06:15:40 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						23c114fd3b 
					 
					
						
						
							
							Be more agressive when joining ranges.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-18 04:38:37 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						99d9923608 
					 
					
						
						
							
							Fix overly conservative spill interval computation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11574  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-18 03:35:38 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						355a724bd8 
					 
					
						
						
							
							Fix spilled interval update. It was too conservative.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-17 04:04:20 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						843b160a20 
					 
					
						
						
							
							Eliminate the use of spill (reserved) registers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 10:24:21 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						6ab5c15962 
					 
					
						
						
							
							Use std::numeric_limits<float>::infinity() instead of  
						
						... 
						
						
						
						std::numeric_limits<float>::max() for weighting preallocated
intervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-14 00:44:07 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						be766c7246 
					 
					
						
						
							
							Remove getAllocatedRegNum(). Use getReg() instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-13 21:01:20 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						c0b9dc5be7 
					 
					
						
						
							
							Change MachineBasicBlock's vector of MachineInstr pointers into an  
						
						... 
						
						
						
						ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-12 02:27:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1cbe4d0ad0 
					 
					
						
						
							
							Do not use MachineOperand::isVirtualRegister either!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11283  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-10 21:12:22 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						0b8cb2bc47 
					 
					
						
						
							
							Change live interval representation. Machine instructions now have two  
						
						... 
						
						
						
						slots each. As a concequence they get numbered as 0, 2, 4 and so
on. The first slot is used for operand uses and the second for
defs. Here's an example:
0: A = ...
2: B = ...
4: C = A + B ;; last use of A
The live intervals should look like:
A = [1, 5)
B = [3, x)
C = [5, y)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11141  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 22:55:25 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						ad48cd6327 
					 
					
						
						
							
							We don't need to scan the blocks that we are live-in on every  
						
						... 
						
						
						
						access. Rather we only have to do it on the creation of the interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11135  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 20:45:40 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b606eaca1b 
					 
					
						
						
							
							Should be more careful. The previously applied change made all counts  
						
						... 
						
						
						
						outside of loops = 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11085  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 20:29:57 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b180e3e92b 
					 
					
						
						
							
							Change string for joined intervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 16:13:05 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b0b0ebaac0 
					 
					
						
						
							
							Change xor to ^.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11054  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 08:19:25 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						676cf8cb1d 
					 
					
						
						
							
							Missed one silly assert :-)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11048  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 02:21:31 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						01e74a2aab 
					 
					
						
						
							
							Simplify joinIntervals() code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11047  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 02:18:31 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4f67b86648 
					 
					
						
						
							
							Use MRegisterInfo::isPhysicalRegister and  
						
						... 
						
						
						
						MRegisterInfo::isVirtualRegister.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11045  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-01 01:27:01 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						52220f61bb 
					 
					
						
						
							
							Apply final part of Chris' patch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 23:48:47 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						02ba13c989 
					 
					
						
						
							
							Be a little smarter on the way we handle physical register defs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11038  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 23:13:30 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						08cec00588 
					 
					
						
						
							
							Merge safe parts from last night's buggy commit. These do not break  
						
						... 
						
						
						
						any test cases :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 19:59:32 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						97017de187 
					 
					
						
						
							
							Optimize liveAt() and overlaps(). We now use a binary search instead  
						
						... 
						
						
						
						of a linear search to find the first range for comparisons. This cuts
down the linear scan register allocator running time by a factor of 3
in 254.perlbmk and by a factor of 2.2 in 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11030  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 16:54:54 +00:00