0402315d41 
								
							 
						 
						
							
							
								
								Use setPreservesAll and setPreservesCFG in CodeGen passes.  
							
							... 
							
							
							
							llvm-svn: 77754 
							
						 
						
							2009-07-31 23:37:33 +00:00  
				
					
						
							
							
								 
						
							
								7667332899 
								
							 
						 
						
							
							
								
								inline the global 'getInstrOperandRegClass' function into its callers  
							
							... 
							
							
							
							now that TargetOperandInfo does the heavy lifting.
llvm-svn: 77508 
							
						 
						
							2009-07-29 21:36:49 +00:00  
				
					
						
							
							
								 
						
							
								a776067d3f 
								
							 
						 
						
							
							
								
								Fix pr4552. Stack slot coloring with register must take care not to generate illegal ams.  
							
							... 
							
							
							
							llvm-svn: 76258 
							
						 
						
							2009-07-17 22:42:51 +00:00  
				
					
						
							
							
								 
						
							
								c94de92c54 
								
							 
						 
						
							
							
								
								Fixed a stack slot coloring with reg bug: do not update implicit use / def when doing forward / backward propagation.  
							
							... 
							
							
							
							llvm-svn: 71574 
							
						 
						
							2009-05-12 18:31:57 +00:00  
				
					
						
							
							
								 
						
							
								c84bf99f58 
								
							 
						 
						
							
							
								
								Eliminate a compiler warning.  
							
							... 
							
							
							
							llvm-svn: 71456 
							
						 
						
							2009-05-11 18:40:35 +00:00  
				
					
						
							
							
								 
						
							
								5a2fff718d 
								
							 
						 
						
							
							
								
								Just turn aggressive stack coloring off at -O3.  
							
							... 
							
							
							
							llvm-svn: 71140 
							
						 
						
							2009-05-07 01:33:38 +00:00  
				
					
						
							
							
								 
						
							
								6144f63bd5 
								
							 
						 
						
							
							
								
								Temporarily revert r71010. It was causing massive failures during self-hosting.  
							
							... 
							
							
							
							llvm-svn: 71138 
							
						 
						
							2009-05-07 01:27:25 +00:00  
				
					
						
							
							
								 
						
							
								9bf9002161 
								
							 
						 
						
							
							
								
								Enable stack coloring with regs at -O3.  
							
							... 
							
							
							
							llvm-svn: 71010 
							
						 
						
							2009-05-05 20:30:36 +00:00  
				
					
						
							
							
								 
						
							
								6fc03634db 
								
							 
						 
						
							
							
								
								Do not substitute if the new register isn't in the register class of the operand being updated.  
							
							... 
							
							
							
							llvm-svn: 70953 
							
						 
						
							2009-05-05 00:46:16 +00:00  
				
					
						
							
							
								 
						
							
								dbfb102523 
								
							 
						 
						
							
							
								
								Do forward and backward substitution to eliminate loads and stores when possible.  
							
							... 
							
							
							
							llvm-svn: 70937 
							
						 
						
							2009-05-04 23:13:13 +00:00  
				
					
						
							
							
								 
						
							
								4b6072bcb8 
								
							 
						 
						
							
							
								
								The stack slots which share the same stack slot after coloring can, but do not have to, use the same register. In fact, they each may have different register class requirements.  
							
							... 
							
							
							
							llvm-svn: 70815 
							
						 
						
							2009-05-04 00:24:50 +00:00  
				
					
						
							
							
								 
						
							
								1de5cf548e 
								
							 
						 
						
							
							
								
								Typo.  
							
							... 
							
							
							
							llvm-svn: 70792 
							
						 
						
							2009-05-03 19:10:11 +00:00  
				
					
						
							
							
								 
						
							
								210fc62a91 
								
							 
						 
						
							
							
								
								In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However,  reloads and restores might be folded into uses / defs and freed registers might not be used at all.  
							
							... 
							
							
							
							VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.
Not yet enabled. This is part 1. More coming.
llvm-svn: 70787 
							
						 
						
							2009-05-03 18:32:42 +00:00  
				
					
						
							
							
								 
						
							
								5c53a46297 
								
							 
						 
						
							
							
								
								Enable stack slot coloring DCE.  Evan's spiller fixes were needed before this could happen.  
							
							... 
							
							
							
							llvm-svn: 65501 
							
						 
						
							2009-02-26 04:47:57 +00:00  
				
					
						
							
							
								 
						
							
								0fb12efbc1 
								
							 
						 
						
							
							
								
								Add a debugging option for SSC DCE.  
							
							... 
							
							
							
							llvm-svn: 65375 
							
						 
						
							2009-02-24 05:44:18 +00:00  
				
					
						
							
							
								 
						
							
								81db491b7f 
								
							 
						 
						
							
							
								
								Add a quick pass to the stack slot colorer to eliminate some trivially redundant spills after coloring.  
							
							... 
							
							
							
							Ideally these would never get created in the first place, but until we enhance the spiller to have a more
global picture of what's happening, this is necessary for code quality in some circumstances.
llvm-svn: 65120 
							
						 
						
							2009-02-20 09:11:36 +00:00  
				
					
						
							
							
								 
						
							
								9bb56443a1 
								
							 
						 
						
							
							
								
								Teach StackSlotColoring to update MachineMemOperands when  
							
							... 
							
							
							
							changing the stack slots on an instruction, to keep them
consistent with the actual memory addresses.
llvm-svn: 60584 
							
						 
						
							2008-12-05 05:31:14 +00:00  
				
					
						
							
							
								 
						
							
								4459c4250d 
								
							 
						 
						
							
							
								
								Adjust whitespace in debug messages to be more consistent  
							
							... 
							
							
							
							with other debug messages.
llvm-svn: 57543 
							
						 
						
							2008-10-15 02:57:38 +00:00  
				
					
						
							
							
								 
						
							
								0d1e9a8e04 
								
							 
						 
						
							
							
								
								Switch the MachineOperand accessors back to the short names like  
							
							... 
							
							
							
							isReg, etc., from isRegister, etc.
llvm-svn: 57006 
							
						 
						
							2008-10-03 15:45:36 +00:00  
				
					
						
							
							
								 
						
							
								962c2cf17a 
								
							 
						 
						
							
							
								
								Instead of setPreservesAll, just mark them preseving machine loop info and machine dominators.  
							
							... 
							
							
							
							llvm-svn: 56475 
							
						 
						
							2008-09-22 22:21:38 +00:00  
				
					
						
							
							
								 
						
							
								168f8f3916 
								
							 
						 
						
							
							
								
								Mark several codegen passes as preserving all analysis.  
							
							... 
							
							
							
							llvm-svn: 56469 
							
						 
						
							2008-09-22 20:58:04 +00:00  
				
					
						
							
							
								 
						
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
				
					
						
							
							
								 
						
							
								7ce10037c4 
								
							 
						 
						
							
							
								
								Make stack slot coloring's debug output more consistent with  
							
							... 
							
							
							
							other passes.
llvm-svn: 53415 
							
						 
						
							2008-07-10 19:49:32 +00:00  
				
					
						
							
							
								 
						
							
								71013f8c78 
								
							 
						 
						
							
							
								
								Remove option used to debug stack coloring bugs. It's no longer needed since stack coloring is now bug free.  
							
							... 
							
							
							
							llvm-svn: 52644 
							
						 
						
							2008-06-23 21:24:32 +00:00  
				
					
						
							
							
								 
						
							
								c72dcd103c 
								
							 
						 
						
							
							
								
								Instead of adding an isSS field to LiveInterval to denote stack slot. Use top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval.  
							
							... 
							
							
							
							llvm-svn: 52639 
							
						 
						
							2008-06-23 21:03:19 +00:00  
				
					
						
							
							
								 
						
							
								12a0222a01 
								
							 
						 
						
							
							
								
								Add a stack slot coloring pass. Not yet enabled.  
							
							... 
							
							
							
							llvm-svn: 51934 
							
						 
						
							2008-06-04 09:18:41 +00:00