Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						597faa8f1f 
					 
					
						
						
							
							Simplify AggressiveAntiDepBreaker's use of register aliases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121805  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-14 23:23:15 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						9b041c92ef 
					 
					
						
						
							
							Anti-dependency breaking needs to be careful not to use reserved regs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112832  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-02 17:12:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						9c2a034730 
					 
					
						
						
							
							Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister. This time  
						
						... 
						
						
						
						make sure to allocate enough space in the std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 19:58:14 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e4a4147c87 
					 
					
						
						
							
							Reserve a goodly amount of room for the vectors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 19:41:20 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						38306d53f9 
					 
					
						
						
							
							Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 18:43:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7fa889b946 
					 
					
						
						
							
							revert bill's patches in an attempt to fix the buildbot.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:51:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						75a5b71208 
					 
					
						
						
							
							Fix headers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:05:18 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e010409cab 
					 
					
						
						
							
							Use std::vector instead of a hard-coded array. The length of that array could  
						
						... 
						
						
						
						get *very* large, but we only need it to be the size of the number of pregs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:04:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7e1b566322 
					 
					
						
						
							
							Convert the last use of getPhysicalRegisterRegClass and remove it.  
						
						... 
						
						
						
						AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
instruction might be using a register that can only be replaced with one from
a subclass of getPhysicalRegisterRegClass.
With this patch we use getMinimalPhysRegClass. This is correct, but
conservative. We should check the uses of the register and select the
largest register class that can be used in all of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108122  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 02:55:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						46df4eb46e 
					 
					
						
						
							
							Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-16 07:35:02 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						086723d244 
					 
					
						
						
							
							Not all entries in the range will have an SUnit. Check for that when looking  
						
						... 
						
						
						
						for debug information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105324  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-02 15:29:36 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						533934e06e 
					 
					
						
						
							
							Update debug information when breaking anti-dependencies. rdar://7759363  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-01 23:48:44 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						66db3a0f10 
					 
					
						
						
							
							Make BreakAntiDependencies' SUnits argument const, and make the Begin  
						
						... 
						
						
						
						and End arguments by-value rather than by-reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-19 23:11:58 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						347fa3fa26 
					 
					
						
						
							
							Tidy whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-09 21:38:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						518bb53485 
					 
					
						
						
							
							move target-independent opcodes out of TargetInstrInfo  
						
						... 
						
						
						
						into TargetOpcodes.h.  #include the new TargetOpcodes.h
into MachineInstr.  Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the 
codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 19:54:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						2973b57093 
					 
					
						
						
							
							80 column and whitespace cleanup  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-06 16:48:02 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						5393b25234 
					 
					
						
						
							
							Change errs() to dbgs().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-24 00:14:25 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						990d285765 
					 
					
						
						
							
							<rdar://problem/7453528>. Track only physical registers that are valid for the target.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-09 17:18:22 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						2601329106 
					 
					
						
						
							
							<rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-24 00:59:08 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						00621efb40 
					 
					
						
						
							
							Restructure code to allow renaming of multiple-register groups for anti-dep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-20 23:33:54 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						557bbe6b5d 
					 
					
						
						
							
							Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-20 19:32:48 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						3e72d301e0 
					 
					
						
						
							
							Fix a couple of problems with maintaining liveness information for antidep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89404  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-19 23:12:37 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						87d21b92fc 
					 
					
						
						
							
							Allow target to specify regclass for which antideps will only be broken along the critical path.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-13 19:52:48 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						12dd99dc30 
					 
					
						
						
							
							Rename registers to break output dependencies in addition to anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87015  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-12 19:08:21 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						0855dee564 
					 
					
						
						
							
							Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 00:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						7040d6e2f5 
					 
					
						
						
							
							Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86172  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 21:06:09 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						98f2f1aff8 
					 
					
						
						
							
							Replace std::map.at() with std::map[].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 01:45:50 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						54097836f3 
					 
					
						
						
							
							Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86098  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 01:19:35 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						4de099d8ca 
					 
					
						
						
							
							Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85939  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-03 20:57:50 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						5b3c308970 
					 
					
						
						
							
							Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-29 23:30:59 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						67a8a7b3bd 
					 
					
						
						
							
							Fix a couple of bugs in aggressive anti-dep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-29 19:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						e10deca33e 
					 
					
						
						
							
							Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 22:31:16 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						348777110a 
					 
					
						
						
							
							Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 19:32:42 +00:00