Owen Anderson 
							
						 
					 
					
						
						
							
						
						a1566f2e12 
					 
					
						
						
							
							Change the heuristics used in the coalescer, register allocator, and within  
						
						... 
						
						
						
						live intervals itself to use an instruction count approximation that is 
not affected by inserting empty indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53937  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-22 22:46:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1ed9922794 
					 
					
						
						
							
							Fix a memory leak in LiveIntervalAnalysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-19 00:37:25 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						2c3f7ae384 
					 
					
						
						
							
							Re-introduce LeakDetector support for MachineInstrs and MachineBasicBlocks.  
						
						... 
						
						
						
						Fix a leak that this turned up in LowerSubregs.cpp.
And, comment a leak in LiveIntervalAnalysis.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53746  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-17 23:49:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b9890ae3c3 
					 
					
						
						
							
							Typos.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53504  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-12 02:22:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						79a796c2b1 
					 
					
						
						
							
							Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g.  
						
						... 
						
						
						
						8   %reg1024<def> = IMPLICIT_DEF
12  %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2
The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53503  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-12 01:56:02 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ef0732d25a 
					 
					
						
						
							
							- Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply the operand index of def machineoperand and at most one full scan of non-implicit operands is needed.  
						
						... 
						
						
						
						- Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53394  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-10 07:35:43 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8e5f2c6f65 
					 
					
						
						
							
							Pool-allocation for MachineInstrs, MachineBasicBlocks, and  
						
						... 
						
						
						
						MachineMemOperands. The pools are owned by MachineFunctions.
This drastically reduces the number of calls to malloc/free made
during the "Emit" phase of scheduling, as well as later phases
in CodeGen. Combined with other changes, this speeds up the
"instruction selection" phase of CodeGen by 10% in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-07 23:14:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9f1c8317a4 
					 
					
						
						
							
							- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc.  
						
						... 
						
						
						
						- Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53097  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 09:09:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6b098dee28 
					 
					
						
						
							
							Remember which MachineOperand we were processing, so we don't have to scan the list to find it again later.  
						
						... 
						
						
						
						This speeds up live intervals from 0.37s to 0.30s on instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 23:39:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c3417609ae 
					 
					
						
						
							
							Undo spill weight tweak. Need to investigate the performance regressions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-21 06:45:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						29b039976f 
					 
					
						
						
							
							Revert my last patch, which was causing regression test failures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 05:29:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bdf34bc12b 
					 
					
						
						
							
							Minor spiller tweak to unfavor reload into load/store instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 01:16:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6c5e561668 
					 
					
						
						
							
							Insert empty slots into the instruction numbering in live intervals, so that we can more easily  
						
						... 
						
						
						
						add new instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 00:10:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f26e8557de 
					 
					
						
						
							
							Live-through live interval is [mbb start, mbb end+1].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-17 20:13:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						31ec841be1 
					 
					
						
						
							
							Remove special case handling of empty MBBs now that we assign indices to them.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52345  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 19:32:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1fbb4545d4 
					 
					
						
						
							
							Re-enable empty block indexing by default, since it doesn't seem to have any  
						
						... 
						
						
						
						impact on code quality or compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 16:58:24 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3557801289 
					 
					
						
						
							
							Make indexing empty basic blocks an option for the moment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52306  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 07:10:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8892b6f307 
					 
					
						
						
							
							Assign indices to empty basic blocks.  This will be necessary for StrongPHIElimination in the near future.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 06:18:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9c3c221364 
					 
					
						
						
							
							Refine stack slot interval weight computation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-06 07:54:39 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c4dc132c8a 
					 
					
						
						
							
							Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52012  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-05 17:15:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3f32d65912 
					 
					
						
						
							
							Add a stack slot coloring pass. Not yet enabled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51934  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-04 09:18:41 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e3abb0a858 
					 
					
						
						
							
							Correctly handle removed instructions at the beginning of MBBs when renumbering.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51876  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-02 17:36:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7eec0c2433 
					 
					
						
						
							
							Make the renumbering correct in the face of deleted instructions that have been removed from the LiveIntervals maps.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51714  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 23:01:22 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						ec58498dc9 
					 
					
						
						
							
							Remove <iostream>.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 21:29:39 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fcc6350ac9 
					 
					
						
						
							
							Revert part of my last patch that I didn't intend to commit yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 18:35:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4b5b209679 
					 
					
						
						
							
							Renumbering needs to account for instruction slot offsets when performing lookups in the index maps.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 18:15:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						745825f431 
					 
					
						
						
							
							Remap VNInfo data as well when doing renumbering.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51658  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-28 22:40:08 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						80b3ce65e2 
					 
					
						
						
							
							Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-28 20:54:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0a891ed7d5 
					 
					
						
						
							
							Revert 51440 as it breaks a bunch of PIC tests.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-23 23:00:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						abe93d95e8 
					 
					
						
						
							
							When rewriting defs and uses after spilling, don't set the weight of a  
						
						... 
						
						
						
						live interval to infinity if the instruction being rewritten is an
original remat def instruction.  We were only checking against the clone
of the remat def which doesn't actually appear in the IR at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-22 21:16:33 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b0a6f62c9b 
					 
					
						
						
							
							Don't spill dead def.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-20 08:10:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						844731a7f1 
					 
					
						
						
							
							Clean up the use of static and anonymous namespaces. This turned up  
						
						... 
						
						
						
						several things that were neither in an anonymous namespace nor static
but not intended to be global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-13 00:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4a3f6c8882 
					 
					
						
						
							
							Make several variable declarations static.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50696  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-06 01:53:16 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						76249966ee 
					 
					
						
						
							
							Empty basic block should have an empty range.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-16 18:01:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4cce6b4c78 
					 
					
						
						
							
							Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-11 17:53:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7e073baedb 
					 
					
						
						
							
							- More aggressively coalescing away copies whose source is defined by an implicit_def.  
						
						... 
						
						
						
						- Added insert_subreg coalescing support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-09 20:57:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						419852ca8a 
					 
					
						
						
							
							- Treat a live range defined by an implicit_def as a zero-sized one.  
						
						... 
						
						
						
						- Eliminate an implicit_def when it's being spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-03 16:39:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3c75ba858b 
					 
					
						
						
							
							Re-materialization is for uses only.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-01 21:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						427f4c106a 
					 
					
						
						
							
							It's not safe to fold a load from GV stub or constantpool into a two-address use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49002  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-31 23:19:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						24d2f8a212 
					 
					
						
						
							
							The support for remat of instructions with a register operand is hackish, to say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-31 07:53:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						20ccded7de 
					 
					
						
						
							
							Remove isImplicitDef TargetInstrDesc flag.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-15 00:19:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c1f53c7426 
					 
					
						
						
							
							Transfer physical register spill info when load / store folding happens.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48246  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 21:34:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						676dd7c80b 
					 
					
						
						
							
							When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48218  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 07:19:34 +00:00 
						 
				 
			
				
					
						
							
							
								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