8d71a75777 
								
							 
						 
						
							
							
								
								More refactoring. Move getRegClass from TargetOperandInfo to TargetInstrInfo.  
							
							... 
							
							
							
							llvm-svn: 133944 
							
						 
						
							2011-06-27 21:26:13 +00:00  
				
					
						
							
							
								 
						
							
								4f5f84c7e7 
								
							 
						 
						
							
							
								
								Teach antidependency breakers to use RegisterClassInfo.  
							
							... 
							
							
							
							No functional change was intended.
llvm-svn: 133202 
							
						 
						
							2011-06-16 21:56:21 +00:00  
				
					
						
							
							
								 
						
							
								f02a376fbc 
								
							 
						 
						
							
							
								
								Update DBG_VALUEs while breaking anti dependencies.  
							
							... 
							
							
							
							llvm-svn: 132487 
							
						 
						
							2011-06-02 21:26:52 +00:00  
				
					
						
							
							
								 
						
							
								4b4918788b 
								
							 
						 
						
							
							
								
								Fix PostRA antidependence breaker.  
							
							... 
							
							
							
							Avoid using the same register for two def operands or and earlyclobber
def and use operand. This fixes PR8986 and improves on the prior fix
for rdar://problem/8959122.
llvm-svn: 125089 
							
						 
						
							2011-02-08 17:39:46 +00:00  
				
					
						
							
							
								 
						
							
								f841571404 
								
							 
						 
						
							
							
								
								Fix an anti-dep breaker corner case.  
							
							... 
							
							
							
							<rdar://problem/8959122> illegal register operands for UMULL instruction in cfrac nightly test
I'm stil working on a unit test, but the case is:
rx = movcc rx, r3
r2 = ldr
r2, r3 = umull r2, r2
The anti-dep breaker should not convert this into an illegal instruction:
r2, r2 = umull
llvm-svn: 124932 
							
						 
						
							2011-02-05 02:58:46 +00:00  
				
					
						
							
							
								 
						
							
								82ae9a95a5 
								
							 
						 
						
							
							
								
								Fixes <rdar://problem/8612856>: During postRAsched, the antidependence  
							
							... 
							
							
							
							breaker needs to check all definitions of the antidepenent register to
avoid multiple defs of the same new register.
llvm-svn: 118032 
							
						 
						
							2010-11-02 18:16:45 +00:00  
				
					
						
							
							
								 
						
							
								c57c220d20 
								
							 
						 
						
							
							
								
								Fix a miscompile in 186.crafty for Thumb2 that was exposed by Evan's  
							
							... 
							
							
							
							scheduling change in svn 115121.  The CriticalAntiDepBreaker had bad
liveness information.  It was calculating the KillIndices for one scheduling
region in a basic block, rescheduling that region so the KillIndices were
no longer valid, and then using those wrong KillIndices to make decisions
for the next scheduling region.  I've not been able to reduce a small
testcase for this.  Radar 8502534.
llvm-svn: 115400 
							
						 
						
							2010-10-02 01:49:29 +00:00  
				
					
						
							
							
								 
						
							
								f3ecfd0e53 
								
							 
						 
						
							
							
								
								Fix a comment typo.  
							
							... 
							
							
							
							llvm-svn: 113653 
							
						 
						
							2010-09-10 22:42:21 +00:00  
				
					
						
							
							
								 
						
							
								944aece38a 
								
							 
						 
						
							
							
								
								Anti-dependency breaking needs to be careful not to use reserved regs  
							
							... 
							
							
							
							llvm-svn: 112832 
							
						 
						
							2010-09-02 17:12:55 +00:00  
				
					
						
							
							
								 
						
							
								c2af77f510 
								
							 
						 
						
							
							
								
								Fix a use-after-free.  
							
							... 
							
							
							
							llvm-svn: 109468 
							
						 
						
							2010-07-26 23:40:24 +00:00  
				
					
						
							
							
								 
						
							
								51a9c0a1b3 
								
							 
						 
						
							
							
								
								Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister. This time  
							
							... 
							
							
							
							make sure to allocate enough space in the std::vector.
llvm-svn: 108449 
							
						 
						
							2010-07-15 19:58:14 +00:00  
				
					
						
							
							
								 
						
							
								c48adb60ca 
								
							 
						 
						
							
							
								
								revert bill's patches in an attempt to fix the buildbot.  
							
							... 
							
							
							
							llvm-svn: 108419 
							
						 
						
							2010-07-15 06:51:46 +00:00  
				
					
						
							
							
								 
						
							
								d5b390189d 
								
							 
						 
						
							
							
								
								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 thenumber of pregs.
llvm-svn: 108411 
							
						 
						
							2010-07-15 05:56:32 +00:00  
				
					
						
							
							
								 
						
							
								f128bdcb55 
								
							 
						 
						
							
							
								
								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.  
							
							... 
							
							
							
							llvm-svn: 106091 
							
						 
						
							2010-06-16 07:35:02 +00:00  
				
					
						
							
							
								 
						
							
								848548300d 
								
							 
						 
						
							
							
								
								Not all entries in the range will have an SUnit. Check for that when looking  
							
							... 
							
							
							
							for debug information.
llvm-svn: 105324 
							
						 
						
							2010-06-02 15:29:36 +00:00  
				
					
						
							
							
								 
						
							
								12ac8f0352 
								
							 
						 
						
							
							
								
								Update debug information when breaking anti-dependencies. rdar://7759363  
							
							... 
							
							
							
							llvm-svn: 105300 
							
						 
						
							2010-06-01 23:48:44 +00:00  
				
					
						
							
							
								 
						
							
								866b74ba8b 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 103807 
							
						 
						
							2010-05-14 21:20:46 +00:00  
				
					
						
							
							
								 
						
							
								35bc4d46cb 
								
							 
						 
						
							
							
								
								Make BreakAntiDependencies' SUnits argument const, and make the Begin  
							
							... 
							
							
							
							and End arguments by-value rather than by-reference.
llvm-svn: 101830 
							
						 
						
							2010-04-19 23:11:58 +00:00  
				
					
						
							
							
								 
						
							
								2061c84109 
								
							 
						 
						
							
							
								
								Fix some more places where dbg_value affected codegen.  
							
							... 
							
							
							
							llvm-svn: 97765 
							
						 
						
							2010-03-05 00:02:59 +00:00  
				
					
						
							
							
								 
						
							
								a7cef4fab5 
								
							 
						 
						
							
							
								
								Anti-dependency breaking needs to be careful regarding instructions with  
							
							... 
							
							
							
							multiple register definitions.
llvm-svn: 92864 
							
						 
						
							2010-01-06 22:21:25 +00:00  
				
					
						
							
							
								 
						
							
								eb431da074 
								
							 
						 
						
							
							
								
								80 column and whitespace cleanup  
							
							... 
							
							
							
							llvm-svn: 92837 
							
						 
						
							2010-01-06 16:48:02 +00:00  
				
					
						
							
							
								 
						
							
								96b90539d6 
								
							 
						 
						
							
							
								
								Change errs() to dbgs().  
							
							... 
							
							
							
							llvm-svn: 92490 
							
						 
						
							2010-01-04 17:47:05 +00:00  
				
					
						
							
							
								 
						
							
								a45fe67667 
								
							 
						 
						
							
							
								
								<rdar://problem/7453528>. Track only physical registers that are valid for the target.  
							
							... 
							
							
							
							llvm-svn: 90970 
							
						 
						
							2009-12-09 17:18:22 +00:00  
				
					
						
							
							
								 
						
							
								80a03cc0b1 
								
							 
						 
						
							
							
								
								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.  
							
							... 
							
							
							
							llvm-svn: 89471 
							
						 
						
							2009-11-20 19:32:48 +00:00  
				
					
						
							
							
								 
						
							
								8501dbbe10 
								
							 
						 
						
							
							
								
								Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.  
							
							... 
							
							
							
							llvm-svn: 85939 
							
						 
						
							2009-11-03 20:57:50 +00:00  
				
					
						
							
							
								 
						
							
								8370485db9 
								
							 
						 
						
							
							
								
								Break anti-dependence breaking out into its own class.  
							
							... 
							
							
							
							llvm-svn: 85127 
							
						 
						
							2009-10-26 16:59:04 +00:00