Andrew Trick 
							
						 
					 
					
						
						
							
						
						1525260b3e 
					 
					
						
						
							
							Move RegisterClassInfo.h.  
						
						... 
						
						
						
						Allow targets to access this API. It's required for RegisterPressure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-06 20:29:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						396618b43a 
					 
					
						
						
							
							Switch all register list clients to the new MC*Iterator interface.  
						
						... 
						
						
						
						No functional change intended.
Sorry for the churn. The iterator classes are supposed to help avoid
giant commits like this one in the future. The TableGen-produced
register lists are getting quite large, and it may be necessary to
change the table representation.
This makes it possible to do so without changing all clients (again).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-01 23:28:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						397fc4874e 
					 
					
						
						
							
							Add an MF argument to TRI::getPointerRegClass() and TII::getRegClass().  
						
						... 
						
						
						
						The getPointerRegClass() hook can return register classes that depend on
the calling convention of the current function (ptr_rc_tailcall).
So far, we have been able to infer the calling convention from the
subtarget alone, but as we add support for multiple calling conventions
per target, that no longer works.
Patch by Yiannis Tsiouris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-07 22:10:26 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						9ebfbf8b9f 
					 
					
						
						
							
							Convert more GenRegisterInfo tables from unsigned to uint16_t to reduce static data size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152016  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-05 05:37:41 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						e4fd907e72 
					 
					
						
						
							
							Use uint16_t to store register overlaps to reduce static data.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-04 10:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						015f228861 
					 
					
						
						
							
							Use uint16_t to store registers in callee saved register tables to reduce size of static data.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151996  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-04 03:33:22 +00:00 
						 
				 
			
				
					
						
							
							
								Hal Finkel 
							
						 
					 
					
						
						
							
						
						504d1d2fa4 
					 
					
						
						
							
							AggressiveAntiDepBreaker needs to skip debug values because a debug value does not have a corresponding SUnit  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-16 22:53:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						977679d603 
					 
					
						
						
							
							Added a late machine instruction copy propagation pass. This catches  
						
						... 
						
						
						
						opportunities that only present themselves after late optimizations
such as tail duplication .e.g.
## BB#1:
        movl    %eax, %ecx
        movl    %ecx, %eax
        ret
The register allocator also leaves some of them around (due to false
dep between copies from phi-elimination, etc.)
This required some changes in codegen passes. Post-ra scheduler and the
pseudo-instruction expansion passes have been moved after branch folding
and tail merging. They were before branch folding before because it did
not always update block livein's. That's fixed now. The pass change makes
independently since we want to properly schedule instructions after
branch folding / tail duplication.
rdar://10428165
rdar://10640363
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147716  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-07 03:02:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5a96b3dad2 
					 
					
						
						
							
							Add bundle aware API for querying instruction properties and switch the code  
						
						... 
						
						
						
						generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-07 07:15:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5b1b4489cf 
					 
					
						
						
							
							Rename TargetSubtarget to TargetSubtargetInfo for consistency.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-01 21:01:15 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						15993f83a4 
					 
					
						
						
							
							More refactoring. Move getRegClass from TargetOperandInfo to TargetInstrInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133944  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-27 21:26:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						fa796dd720 
					 
					
						
						
							
							Teach antidependency breakers to use RegisterClassInfo.  
						
						... 
						
						
						
						No functional change was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133202  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-16 21:56:21 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e29e8e100e 
					 
					
						
						
							
							Update DBG_VALUEs while breaking anti dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132487  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-02 21:26:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7a2bdde0a0 
					 
					
						
						
							
							Fix a ton of comment typos found by codespell.  Patch by  
						
						... 
						
						
						
						Luis Felipe Strano Moraes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-15 05:18:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						597faa8f1f 
					 
					
						
						
							
							Simplify AggressiveAntiDepBreaker's use of register aliases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121805  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-14 23:23:15 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						9b041c92ef 
					 
					
						
						
							
							Anti-dependency breaking needs to be careful not to use reserved regs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112832  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-02 17:12:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						9c2a034730 
					 
					
						
						
							
							Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister. This time  
						
						... 
						
						
						
						make sure to allocate enough space in the std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 19:58:14 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e4a4147c87 
					 
					
						
						
							
							Reserve a goodly amount of room for the vectors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 19:41:20 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						38306d53f9 
					 
					
						
						
							
							Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 18:43:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7fa889b946 
					 
					
						
						
							
							revert bill's patches in an attempt to fix the buildbot.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:51:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						75a5b71208 
					 
					
						
						
							
							Fix headers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:05:18 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e010409cab 
					 
					
						
						
							
							Use std::vector instead of a hard-coded array. The length of that array could  
						
						... 
						
						
						
						get *very* large, but we only need it to be the size of the number of pregs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:04:38 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7e1b566322 
					 
					
						
						
							
							Convert the last use of getPhysicalRegisterRegClass and remove it.  
						
						... 
						
						
						
						AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
instruction might be using a register that can only be replaced with one from
a subclass of getPhysicalRegisterRegClass.
With this patch we use getMinimalPhysRegClass. This is correct, but
conservative. We should check the uses of the register and select the
largest register class that can be used in all of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108122  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 02:55:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						46df4eb46e 
					 
					
						
						
							
							Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-16 07:35:02 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						086723d244 
					 
					
						
						
							
							Not all entries in the range will have an SUnit. Check for that when looking  
						
						... 
						
						
						
						for debug information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105324  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-02 15:29:36 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						533934e06e 
					 
					
						
						
							
							Update debug information when breaking anti-dependencies. rdar://7759363  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-01 23:48:44 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						66db3a0f10 
					 
					
						
						
							
							Make BreakAntiDependencies' SUnits argument const, and make the Begin  
						
						... 
						
						
						
						and End arguments by-value rather than by-reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-19 23:11:58 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						347fa3fa26 
					 
					
						
						
							
							Tidy whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-09 21:38:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						518bb53485 
					 
					
						
						
							
							move target-independent opcodes out of TargetInstrInfo  
						
						... 
						
						
						
						into TargetOpcodes.h.  #include the new TargetOpcodes.h
into MachineInstr.  Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the 
codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 19:54:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						2973b57093 
					 
					
						
						
							
							80 column and whitespace cleanup  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-06 16:48:02 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						5393b25234 
					 
					
						
						
							
							Change errs() to dbgs().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-24 00:14:25 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						990d285765 
					 
					
						
						
							
							<rdar://problem/7453528>. Track only physical registers that are valid for the target.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-09 17:18:22 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						2601329106 
					 
					
						
						
							
							<rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-24 00:59:08 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						00621efb40 
					 
					
						
						
							
							Restructure code to allow renaming of multiple-register groups for anti-dep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-20 23:33:54 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						557bbe6b5d 
					 
					
						
						
							
							Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-20 19:32:48 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						3e72d301e0 
					 
					
						
						
							
							Fix a couple of problems with maintaining liveness information for antidep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89404  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-19 23:12:37 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						87d21b92fc 
					 
					
						
						
							
							Allow target to specify regclass for which antideps will only be broken along the critical path.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-13 19:52:48 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						12dd99dc30 
					 
					
						
						
							
							Rename registers to break output dependencies in addition to anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87015  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-12 19:08:21 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						0855dee564 
					 
					
						
						
							
							Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 00:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						7040d6e2f5 
					 
					
						
						
							
							Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86172  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 21:06:09 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						98f2f1aff8 
					 
					
						
						
							
							Replace std::map.at() with std::map[].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 01:45:50 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						54097836f3 
					 
					
						
						
							
							Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86098  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 01:19:35 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						4de099d8ca 
					 
					
						
						
							
							Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85939  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-03 20:57:50 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						5b3c308970 
					 
					
						
						
							
							Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-29 23:30:59 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						67a8a7b3bd 
					 
					
						
						
							
							Fix a couple of bugs in aggressive anti-dep breaking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-29 19:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						e10deca33e 
					 
					
						
						
							
							Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 22:31:16 +00:00 
						 
				 
			
				
					
						
							
							
								David Goodwin 
							
						 
					 
					
						
						
							
						
						348777110a 
					 
					
						
						
							
							Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 19:32:42 +00:00