Lang Hames 
							
						 
					 
					
						
						
							
						
						f7c553e993 
					 
					
						
						
							
							Added RegisterCoalescer to required passes for PBQP.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78840  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-12 21:04:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						00b0a243bd 
					 
					
						
						
							
							Remove unnecessary throw() specifications; LLVM doesn't use exceptions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 15:35:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1b2d0b8397 
					 
					
						
						
							
							Remove unnecessary casts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 15:15:10 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						52c1afcaea 
					 
					
						
						
							
							Modified VNInfo. The "copy" member is now a union which holds the copy for a register interval, or the defining register for a stack interval. Access is via getCopy/setCopy and getReg/setReg.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78620  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 23:43:28 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4600d179fd 
					 
					
						
						
							
							Remove a bunch of debugging code that was slowing PBQP down by 25% or so.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 21:49:45 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8a1871d10b 
					 
					
						
						
							
							Fix some -Asserts unused variable warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-08 00:40:46 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						6699fb2709 
					 
					
						
						
							
							New C++ PBQP solver. Currently about as fast (read _slow_) as the old C based solver, but I'll be working to improve that. The PBQP allocator has been updated to use the new solver.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-06 23:32:48 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						845012e6d3 
					 
					
						
						
							
							Use setPreservesAll and setPreservesCFG in CodeGen passes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77754  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-31 23:37:33 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						ce63ffb52f 
					 
					
						
						
							
							More migration to raw_ostream, the water has dried up around the iostream hole.  
						
						... 
						
						
						
						- Some clients which used DOUT have moved to DEBUG. We are deprecating the
   "magic" DOUT behavior which avoided calling printing functions when the
   statement was disabled. In addition to being unnecessary magic, it had the
   downside of leaving code in -Asserts builds, and of hiding potentially
   unnecessary computations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77019  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-25 00:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						857c4e01f8 
					 
					
						
						
							
							VNInfo cleanup.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-17 21:01:20 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						90f95f88c6 
					 
					
						
						
							
							Move register allocation preference (or hint) from LiveInterval to MachineRegisterInfo. This allows more passes to set them.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-14 20:22:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						51b16f4737 
					 
					
						
						
							
							Untabification.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-30 01:09:53 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						b0e519f2bf 
					 
					
						
						
							
							Prevented reg0 from being added to MBB live-in set, which was causing issues  
						
						... 
						
						
						
						for PostRAScheduler. 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71991  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-17 23:50:36 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						87e3bcab73 
					 
					
						
						
							
							Renamed Spiller classes (plus uses and related files) to VirtRegRewriter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-06 02:36:21 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c781a243a3 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70787  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-03 18:32:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5b69ebac85 
					 
					
						
						
							
							It has finally happened. Spiller is now using live interval info.  
						
						... 
						
						
						
						This fixes a very subtle bug. vr defined by an implicit_def is allowed overlap with any register since it doesn't actually modify anything. However, if it's used as a two-address use, its live range can be extended and it can be spilled. The spiller must take care not to emit a reload for the vn number that's defined by the implicit_def. This is both a correctness and performance issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69743  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-04-21 22:46:52 +00:00 
						 
				 
			
				
					
						
							
							
								Sanjiv Gupta 
							
						 
					 
					
						
						
							
						
						12a9dc8c14 
					 
					
						
						
							
							r66870 missed this out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67082  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-17 15:46:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						49c8aa0d8b 
					 
					
						
						
							
							Convert VirtRegMap to a MachineFunctionPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66870  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-13 05:55:11 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1ed5b714f1 
					 
					
						
						
							
							Reorganization: Move the Spiller out of VirtRegMap.cpp into its own files.  No (intended) functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66720  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-11 22:31:21 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						04ee5a1d92 
					 
					
						
						
							
							Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62600  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-20 19:12:24 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						ce07e99dd6 
					 
					
						
						
							
							* Moved author attribution to CREDITS.TXT  
						
						... 
						
						
						
						* Removed trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61927  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-08 16:40:25 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						2a835f947a 
					 
					
						
						
							
							* Alphabetized #includes  
						
						... 
						
						
						
						* Removed trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61926  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-08 15:50:22 +00:00 
						 
				 
			
				
					
						
							
							
								Argyrios Kyrtzidis 
							
						 
					 
					
						
						
							
						
						3713c0ba62 
					 
					
						
						
							
							Fix compilation error on MSVC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-19 12:56:21 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						27601ef832 
					 
					
						
						
							
							Big PBQP allocator update. Adds coalescing support, stack slot coloring, several bug-fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59414  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-16 12:12:54 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						56c523c63b 
					 
					
						
						
							
							Test commit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59293  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-14 06:51:35 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b8cab9227a 
					 
					
						
						
							
							Fix command-line option printing to print two spaces where needed,  
						
						... 
						
						
						
						instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57521  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-14 20:25:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						17a82eaeb6 
					 
					
						
						
							
							Fix typos pointed out by Duncan. Also untabify these files.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57018  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-03 17:11:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d735b8019b 
					 
					
						
						
							
							Switch the MachineOperand accessors back to the short names like  
						
						... 
						
						
						
						isReg, etc., from isRegister, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-03 15:45:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b1290a6cc4 
					 
					
						
						
							
							A Partitioned Boolean Quadratic Programming (PBQP) based register allocator.  
						
						... 
						
						
						
						Contributed by Lang Hames.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-02 18:29:27 +00:00