Dan Gohman 
							
						 
					 
					
						
						
							
						
						0471a79f20 
					 
					
						
						
							
							Fix a typo in a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54136  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-28 18:43:51 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0a7615af25 
					 
					
						
						
							
							Revert my previous patch.  In retrospect, this is completely the wrong way to fix this problem.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54072  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 23:06:59 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0c525ca72f 
					 
					
						
						
							
							Special cases are needed in renumbering when dealing with renumbering after a PHI has been removed.  The interval previously defined  
						
						... 
						
						
						
						by the PHI needs to be extended to the beginning of its basic block, and the intervals that were inputs need to be trimmed to the end 
of their basic blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54070  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 22:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8d0cc0af5a 
					 
					
						
						
							
							Properly remap live ranges whose end indices are the end of the function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54061  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 21:07:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d7dcbecdbc 
					 
					
						
						
							
							Make the remapping of interval indices (particularly ending indices) more robust.  
						
						... 
						
						
						
						This is tricky business, and will probably take a few more iterations to get
the last kinks out of it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54043  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 19:50:48 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4c8f87038d 
					 
					
						
						
							
							Disable the new aggressive remat logic introduced in 54000; it causes some  
						
						... 
						
						
						
						regressions, such as PR2595. Also, there is a significant code-quality
issue in SPEC 464.h264ref and a few others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54014  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 15:08:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6d69ba8a69 
					 
					
						
						
							
							Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory,  
						
						... 
						
						
						
						and knowledge of PseudoSourceValues. This unfortunately isn't sufficient to allow
constants to be rematerialized in PIC mode -- the extra indirection is a
complication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-25 00:02:30 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7fbad27cfb 
					 
					
						
						
							
							Enable the insertion of empty indices into LiveInterals, thereby making renumbering possible.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-23 21:37:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						496bac5b08 
					 
					
						
						
							
							Fix a compile-time regression introduced by my heuristic-changing patch.  I forgot  
						
						... 
						
						
						
						to multiply the instruction count by a constant factor in a few places, which
caused the register allocator to require many more iterations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-23 19:47:27 +00:00 
						 
				 
			
				
					
						
							
							
								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