Chris Lattner 
							
						 
					 
					
						
						
							
						
						571340633f 
					 
					
						
						
							
							yes yes, enabled debug output is bad  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26637  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 07:39:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6a4b70bbcf 
					 
					
						
						
							
							switch the t-d scheduler to use a really dumb and trivial critical path  
						
						... 
						
						
						
						latency priority function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 07:38:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						477ef6d8cb 
					 
					
						
						
							
							Pull latency information for target instructions out of the latency tables. :)  
						
						... 
						
						
						
						Only enable this with -use-sched-latencies, I'll enable it by default with a
clean nightly tester run tonight.
PPC is the only target that provides latency info currently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 07:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0324ba8f02 
					 
					
						
						
							
							PriorityQueue is an instance var, use it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 06:48:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e87c5c8088 
					 
					
						
						
							
							add some comments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26631  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 06:37:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e32178dd32 
					 
					
						
						
							
							Refactor the priority mechanism one step further: now that it is a separate  
						
						... 
						
						
						
						class, sever its implementation from the interface.  Now we can provide new
implementations of the same interface (priority computation) without touching
the scheduler itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26630  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 06:35:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						49eee4a26f 
					 
					
						
						
							
							Split the priority function computation and priority queue management out  
						
						... 
						
						
						
						of the ScheduleDAGList class into a new SchedulingPriorityQueue class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 05:18:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c45a59bb32 
					 
					
						
						
							
							switch from an explicitly managed list of SUnits to a simple vector of sunits  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26612  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 04:54:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6a67b3a4e6 
					 
					
						
						
							
							Shrinkify some fields, fit to 80 columns  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26611  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 04:41:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5874f82564 
					 
					
						
						
							
							remove "Slot", it is dead  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 04:37:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b0d21ef20c 
					 
					
						
						
							
							Change the interface for getting a target HazardRecognizer to be more clean.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 04:25:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2d635803d 
					 
					
						
						
							
							Fix some formatting, when looking for hazards, prefer target nodes over  
						
						... 
						
						
						
						things like copyfromreg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26586  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-07 05:40:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6af7ef8da8 
					 
					
						
						
							
							update file comment  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-06 17:58:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						adc5e5c85f 
					 
					
						
						
							
							Remove some code that doesn't make sense  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-06 07:31:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6b36ce9202 
					 
					
						
						
							
							Remove SUnit::Priority1: it is re-calculated on demand as number of live  
						
						... 
						
						
						
						range to be generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26570  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-06 06:08:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						03fc53c174 
					 
					
						
						
							
							Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where  
						
						... 
						
						
						
						targets can implement them.  Make the top-down scheduler non-g5-specific.
Remove the old testing hazard recognizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26569  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-06 00:22:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						67727308fa 
					 
					
						
						
							
							Comment fixes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26567  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 23:59:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a93dfcd40a 
					 
					
						
						
							
							When a hazard recognizer needs noops to be inserted, do so.  This represents  
						
						... 
						
						
						
						noops as null pointers in the instruction sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26564  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 23:51:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6cc3f0a774 
					 
					
						
						
							
							Implement G5HazardRecognizer as a trivial thing that wants 5 cycles between  
						
						... 
						
						
						
						copyfromreg nodes.  Clearly useful!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 23:13:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad0f78ace2 
					 
					
						
						
							
							Add basic hazard recognizer support.  noop insertion isn't complete yet though.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 22:45:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5de484bc7 
					 
					
						
						
							
							Split the list scheduler into top-down and bottom-up pieces.  The priority  
						
						... 
						
						
						
						function of the top-down scheduler are completely bogus currently, and
having (future) PPC specific in this file is also wrong, but this is a
small incremental step.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26552  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 21:10:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						41f5ea0665 
					 
					
						
						
							
							Move the available queue to being inside the ListSchedule method, since it  
						
						... 
						
						
						
						bounds its lifetime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 20:21:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fb43331226 
					 
					
						
						
							
							A bit more tweaking  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 06:23:43 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						d84525480a 
					 
					
						
						
							
							Fix VC++ compilation errors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 03:25:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						86ec7d1d07 
					 
					
						
						
							
							- Fixed some priority calculation bugs that were causing bug 478. Among them:  
						
						... 
						
						
						
						a predecessor appearing more than once in the operand list was counted as
  multiple predecessor; priority1 should be updated during scheduling;
  CycleBound was updated after the node is inserted into priority queue; one
  of the tie breaking condition was flipped.
- Take into consideration of two address opcodes. If a predecessor is a def&use
  operand, it should have a higher priority.
- Scheduler should also favor floaters, i.e. nodes that do not have real
  predecessors such as MOV32ri.
- The scheduling fixes / tweaks fixed bug 478:
        .text
        .align  4
        .globl  _f
_f:
        movl 4(%esp), %eax
        movl 8(%esp), %ecx
        movl %eax, %edx
        imull %ecx, %edx
        imull %eax, %eax
        imull %ecx, %ecx
        addl %eax, %ecx
        leal (%ecx,%edx,2), %eax
        ret
  It is also a slight performance win (1% - 3%) for most tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-02 21:38:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1e8791d790 
					 
					
						
						
							
							make -debug output less newliney  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25895  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-02 00:38:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cdf3838bf1 
					 
					
						
						
							
							Clean up some code; improve efficiency; and fixed a potential bug involving  
						
						... 
						
						
						
						chain successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25630  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-26 00:30:29 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						2a8e6186e9 
					 
					
						
						
							
							Don't break the optimized build (by incorrect placement of #endif)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 21:49:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						44c687d0af 
					 
					
						
						
							
							Fix VC++ compilation error.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 17:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cd1419af1e 
					 
					
						
						
							
							Bottom up register usage reducing list scheduler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 09:14:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f0f9c90204 
					 
					
						
						
							
							Skeleton of the list schedule.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25544  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-23 08:26:10 +00:00