Evan Cheng 
							
						 
					 
					
						
						
							
						
						6130f66eaa 
					 
					
						
						
							
							Refactor code. Remove duplicated functions that basically do the same thing as  
						
						... 
						
						
						
						findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 00:59:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d36531249a 
					 
					
						
						
							
							Spiller now remove unused spill slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47657  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-27 03:04:06 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e6d088acc9 
					 
					
						
						
							
							Rename PrintableName to Name.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-26 21:47:57 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						74ab84c31e 
					 
					
						
						
							
							Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool  
						
						... 
						
						
						
						would have been a Godsend here!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-26 21:11:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e83a27516c 
					 
					
						
						
							
							All remat'ed loads cannot be folded into two-address code. Not just argument loads. This change doesn't really have any impact on codegen.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 19:24:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						79a0c1e46c 
					 
					
						
						
							
							Correctly determine whether a argument load can be folded into its uses.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47545  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 08:50:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						249ded3fa8 
					 
					
						
						
							
							Rematerialization logic was overly conservative when it comes to loads from fixed stack slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 03:38:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						298bbe82cb 
					 
					
						
						
							
							If remating a machine instr with virtual register operand, make sure the vr is avaliable at all uses regardless of whether it would be folded.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 02:14:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dd3465eed1 
					 
					
						
						
							
							Recognize loads of arguments as re-materializable first. Therefore if isReallyTriviallyReMaterializable() returns true it doesn't confuse it as a "normal" re-materializable instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 01:44:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						313d4b8093 
					 
					
						
						
							
							Fix spill weight updating bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 00:33:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d70dbb5d62 
					 
					
						
						
							
							Enable re-materialization of instructions which have virtual register operands if  
						
						... 
						
						
						
						the definition of the operand also reaches its uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-22 09:24:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						063284c001 
					 
					
						
						
							
							Clean up some spilling code using MachineRegisterInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-21 00:34:19 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Levenstein 
							
						 
					 
					
						
						
							
						
						8dd25288f9 
					 
					
						
						
							
							New helper function getMBBFromIndex() that given an index in any instruction of an MBB returns a pointer the MBB. Reviewed by Evan.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47267  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-18 09:35:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c8d044e4f7 
					 
					
						
						
							
							- Removing the infamous r2rMap_ and rep() method. Now the coalescer will update  
						
						... 
						
						
						
						register defs and uses after each successful coalescing.
- Also removed a number of hacks and fixed some subtle kill information bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47167  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-15 18:24:29 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e984e504b5 
					 
					
						
						
							
							Fix a potential serious problem where kills belonging to the val# defined by a two-address instruction is also on the val# that defines the input.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-13 09:06:18 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6f0d024a53 
					 
					
						
						
							
							Rename MRegisterInfo to TargetRegisterInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-10 18:45:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f2f8c2ae07 
					 
					
						
						
							
							Forgot these files.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-08 22:05:27 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b487e7215c 
					 
					
						
						
							
							Move some functionality for adding flags to MachineInstr's into methods on MachineInstr rather than LiveVariables.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46295  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-24 01:10:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8480293f41 
					 
					
						
						
							
							Only remat loads from immutable stack slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45831  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-10 08:24:38 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a07cec9e24 
					 
					
						
						
							
							Simplify some code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-10 08:22:10 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c95f075c43 
					 
					
						
						
							
							Don't use LiveVariables::VarInfo::DefInst.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45815  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-10 03:12:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						749c6f6b5e 
					 
					
						
						
							
							rename TargetInstrDescriptor -> TargetInstrDesc.  
						
						... 
						
						
						
						Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 07:27:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f86e1df877 
					 
					
						
						
							
							simplify some code using new predicates  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 05:40:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69244300b8 
					 
					
						
						
							
							Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects  
						
						... 
						
						
						
						that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into 
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:56:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6425f8be72 
					 
					
						
						
							
							Update CodeGen for MRegisterInfo --> TargetInstrInfo changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45673  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:35:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						834f1ce031 
					 
					
						
						
							
							rename isLoad -> isSimpleLoad due to evan's desire to have such a predicate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-06 23:38:27 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						67d65bb69d 
					 
					
						
						
							
							Don't recalculate the loop info and loop dominators analyses if they're  
						
						... 
						
						
						
						preserved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-04 20:54:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						84bc5427d6 
					 
					
						
						
							
							Rename SSARegMap -> MachineRegisterInfo in keeping with the idea  
						
						... 
						
						
						
						that "machine" classes are used to represent the current state of
the code being compiled.  Given this expanded name, we can start 
moving other stuff into it.  For now, move the UsedPhysRegs and
LiveIn/LoveOuts vectors from MachineFunction into it.
Update all the clients to match.
This also reduces some needless #includes, such as MachineModuleInfo
from MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-31 04:13:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f73823000e 
					 
					
						
						
							
							More cleanups for MachineOperand:  
						
						... 
						
						
						
						- Eliminate the static "print" method for operands, moving it
    into MachineOperand::print.
  - Change various set* methods for register flags to take a bool
    for the value to set it to.  Remove unset* methods.
  - Group methods more logically by operand flavor in MachineOperand.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-30 21:56:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6e141fd048 
					 
					
						
						
							
							Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-12 23:12:09 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						22f07ffd27 
					 
					
						
						
							
							Switch over to MachineLoopInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44838  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-11 02:09:15 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						041b3f8356 
					 
					
						
						
							
							Reverting 44702. It wasn't correct to rename them.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44727  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-08 23:58:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						320c630c1b 
					 
					
						
						
							
							Renaming:  
						
						... 
						
						
						
						isTriviallyReMaterializable -> hasNoSideEffects
  isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-08 07:17:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						33faddc35d 
					 
					
						
						
							
							Turning simple splitting on. Start testing new coalescer heuristics as new llcbeta.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-06 08:54:31 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5ef3a04b54 
					 
					
						
						
							
							Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44644  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-06 00:01:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d120ffd26f 
					 
					
						
						
							
							MachineInstr can change. Store indexes instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44612  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-05 10:24:35 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						adf8590690 
					 
					
						
						
							
							If a split live interval is spilled again, remove the kill marker on its last use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44611  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-05 09:51:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f38d14f03e 
					 
					
						
						
							
							Clobber more bugs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-05 09:05:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b50bb8cf19 
					 
					
						
						
							
							Fix kill info for split intervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-05 08:16:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						018f9b020b 
					 
					
						
						
							
							- Mark last use of a split interval as kill instead of letting spiller track it.  
						
						... 
						
						
						
						This allows an important optimization to be re-enabled.
- If all uses / defs of a split interval can be folded, give the interval a
  low spill weight so it would not be picked in case spilling is needed (avoid
  pushing other intervals in the same BB to be spilled).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-05 03:22:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						597d10d84f 
					 
					
						
						
							
							Discard split intervals made empty due to folding.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-04 00:32:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						31d43183a4 
					 
					
						
						
							
							Typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44532  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-03 10:00:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						70306f8348 
					 
					
						
						
							
							Update kill info for uses of split intervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44531  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-03 09:58:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						aee4af68ae 
					 
					
						
						
							
							Remove redundant foldMemoryOperand variants and other code clean up.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-02 08:30:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e3110d0825 
					 
					
						
						
							
							Fix a bug where splitting cause some unnecessary spilling.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44482  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-01 04:42:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e62f97c094 
					 
					
						
						
							
							Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44479  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-01 02:07:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cddbb83ea8 
					 
					
						
						
							
							Do not fold reload into an instruction with multiple uses. It issues one extra load.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-30 21:23:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cb3c330d39 
					 
					
						
						
							
							Do not lose rematerialization info when spilling already split live intervals.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44443  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-29 23:02:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1953d0cb7d 
					 
					
						
						
							
							Fix a major performance issue with splitting. If there is a def (not def/use)  
						
						... 
						
						
						
						in the middle of a split basic block, create a new live interval starting at
the def. This avoid artifically extending the live interval over a number of
cycles where it is dead. e.g.
bb1:
       = vr1204   (use / kill) <= new interval starts and ends here.
...
...
vr1204 =          (new def)   <= start a new interval here.
       = vr1204   (use)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44436  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-29 10:12:14 +00:00