Evan Cheng 
							
						 
					 
					
						
						
							
						
						e6e97e66a3 
					 
					
						
						
							
							Fix comments.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31414  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 07:31:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1a854be352 
					 
					
						
						
							
							Rename  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 07:21:16 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						b8f4e0aa17 
					 
					
						
						
							
							Remove dead variable. Fix 80 column violations.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 03:30:34 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7fc033a24d 
					 
					
						
						
							
							Added DAG combiner transformation to generate pre-indexed loads.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 03:06:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c5fc57dcae 
					 
					
						
						
							
							Added isPredecessor.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31409  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 03:05:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bf105c8424 
					 
					
						
						
							
							Proper check for two-addressness.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31408  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 03:04:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						02cb49ee67 
					 
					
						
						
							
							silence warning  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31397  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-03 01:28:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						97821311a3 
					 
					
						
						
							
							Make CodeGen libs -pedantic clean.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31387  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 23:56:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						f673388351 
					 
					
						
						
							
							1. Hash not quite right for DIEValues.  
						
						 
						
						... 
						
						
						
						2. Not going to use Usage (no significant benefit.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31384  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 21:48:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						9bd6d65e29 
					 
					
						
						
							
							Remove unused variable.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 20:55:40 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						3ed469ccd7 
					 
					
						
						
							
							For PR786:  
						
						 
						
						... 
						
						
						
						Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 20:25:50 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						ef42a01113 
					 
					
						
						
							
							General clean up of teh dwarf writer.  
						
						 
						
						... 
						
						
						
						1. Most significant is the folding of debug information entries.  This
reduced self hosted -g SelectionDAGISel.s from 120M to 13M and pretty
close to matching .o file sizes with gcc.
2. Debug information entry printing for debugging the dwarf code.
3. Bring all the code closer to llvm standards.
4. Misc. fixes and doc clean ups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 20:12:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						0a783f783c 
					 
					
						
						
							
							For PR950:  
						
						 
						
						... 
						
						
						
						Replace the REM instruction with UREM, SREM and FREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31369  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 01:53:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2a821601f1 
					 
					
						
						
							
							Allow the getRegForInlineAsmConstraint method to return a register class with  
						
						 
						
						... 
						
						
						
						no fixes physreg.  Treat this as permission to use any register in the register
class.  When this happens and it is safe, allow the llvm register allcoator to
allocate the register instead of doing it at isel time.  This eliminates a ton
of copies around common inline asms.  For example:
int test2(int Y, int X) {
  asm("foo %0, %1" : "=r"(X): "r"(X));
  return X;
}
now compiles to:
_test2:
        foo r3, r4
        blr
instead of:
_test2:
        mr r2, r4
        foo r2, r2
        mr r3, r2
        blr
GCC produces:
_test2:
        foo r4, r4
        mr r3,r4
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-02 01:41:49 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e6ae14e1f4 
					 
					
						
						
							
							Rename  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 23:18:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						360c2dd25a 
					 
					
						
						
							
							Two-address instructions no longer have to be A := A op C. Now any pair of dest / src operands can be tied together.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31363  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 23:06:55 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1dabb68ab4 
					 
					
						
						
							
							Clean up.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31359  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 22:39:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						93467e7fe3 
					 
					
						
						
							
							CopyFromReg starts a live range so its use should not be considered a floater.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31356  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 22:17:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d4bf3c2fd6 
					 
					
						
						
							
							give branch folding a simple heuristic to decide which block to split so that  
						
						 
						
						... 
						
						
						
						it inserts an uncond branch where it is less likely to cause a problem.  This
fixes some perf issues on ppc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 19:36:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						41349c10cb 
					 
					
						
						
							
							Add a printSetLabel that takes two id's.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 09:23:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6cc31ae4da 
					 
					
						
						
							
							Print jumptable index.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 04:48:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1d08d83230 
					 
					
						
						
							
							make tail merging more aggressive.  If two blocks share a common tail, but the  
						
						 
						
						... 
						
						
						
						tail is not an entire block for either of them, pick one, split it, then
merge the common part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31336  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 01:16:12 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d8ccff0c3e 
					 
					
						
						
							
							enable branch folding with an option  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31335  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 00:38:31 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0ccb500fa7 
					 
					
						
						
							
							Compile CodeGen/PowerPC/fp-branch.ll to:  
						
						 
						
						... 
						
						
						
						_intcoord_cond_next55:
LBB1_3: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        blt cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
        li r3, 1
        blr
LBB1_2: ;cond_next62.exitStub
        li r3, 0
        blr
instead of:
_intcoord_cond_next55:
LBB1_3: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        bge cr0, LBB1_1 ;bb72.exitStub
LBB1_4: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        bnu cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
        li r3, 1
        blr
LBB1_2: ;cond_next62.exitStub
        li r3, 0
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31330  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 23:06:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						df19f27d03 
					 
					
						
						
							
							look through isunordered to inline it into branch blocks.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 22:37:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						efa46ce87b 
					 
					
						
						
							
							handle global address constant sdnodes  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31323  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 20:01:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						53069fbbae 
					 
					
						
						
							
							TargetLowering::isOperandValidForConstraint  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31319  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 19:41:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dba1aeedd8 
					 
					
						
						
							
							Change the prototype for TargetLowering::isOperandValidForConstraint  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 19:40:43 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						ab4022f196 
					 
					
						
						
							
							1. Clean up code due to changes in SwitchTo*Section(2)  
						
						 
						
						... 
						
						
						
						2. Added partial debug support for mingw\cygwin targets (the same as
   Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format
   for storing debug info by default, thus many (runtime) libraries has
   this information included. These formats shouldn't be mixed in one binary
   ('stabs' & 'DWARF'), otherwise binutils tools will be confused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 08:31:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d03f1581c8 
					 
					
						
						
							
							Turn an assert into an error message.  This is commonly triggered when  
						
						 
						
						... 
						
						
						
						we don't support a specific constraint yet.  When this happens, print the
unsupported constraint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 07:33:13 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d063189c09 
					 
					
						
						
							
							Fix a typo which can break jumptables.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-31 02:31:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						0de0c5da42 
					 
					
						
						
							
							Fix a problem introduced by a last-minute change (logic negation).  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31302  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 23:34:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						02b8511364 
					 
					
						
						
							
							Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4  
						
						 
						
						... 
						
						
						
						generated object modules to be debugged with gdb. Hopefully this helps
pre-release debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31299  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 22:32:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						a9c83fe5e1 
					 
					
						
						
							
							Switch abbreviations to use the folding set.a.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31296  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 15:59:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						6519546eda 
					 
					
						
						
							
							Simplify DwarfWriter header.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31295  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 13:35:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3d4ce11085 
					 
					
						
						
							
							Lower jumptable to BR_JT. The legalizer can lower it to a BRIND or let the target custom lower it.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31293  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 08:00:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c41cd9c391 
					 
					
						
						
							
							Added a new SDNode type: BR_JT for jumptable branch.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31292  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-30 07:59:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6b0e3f8907 
					 
					
						
						
							
							Make CanFallThrough more intelligent (so it can handle blocks with (e.g.) no  
						
						 
						
						... 
						
						
						
						successors), and make island block movement more general.
This compiles CodeGen/X86/2006-04-27-ISelFoldingBug.ll to:
_loadAndRLEsource_no_exit_2E_1_label_2E_0:
        subl $8, %esp
        movl %esi, 4(%esp)
        movl %ebx, (%esp)
        movl 16(%esp), %eax
        movl 12(%esp), %ecx
LBB1_3: #label.0
        movl _last, %edx
        movl %edx, %esi
        incl %esi
        movl %esi, _last
        movl %ecx, %ebx
        # TRUNCATE movb %bl, %bl
        movl _block, %esi
        movb %bl, 1(%esi,%edx)
        cmpl %eax, _last
        jge LBB1_2      #codeRepl5.exitStub
LBB1_4: #label.0
        cmpl $257, %ecx
        je LBB1_2       #codeRepl5.exitStub
LBB1_1: #label.0.no_exit.1_crit_edge.exitStub
        movl $1, %eax
        movl (%esp), %ebx
        movl 4(%esp), %esi
        addl $8, %esp
        ret
LBB1_2: #codeRepl5.exitStub
        xorl %eax, %eax
        movl (%esp), %ebx
        movl 4(%esp), %esi
        addl $8, %esp
        ret
instead of:
_loadAndRLEsource_no_exit_2E_1_label_2E_0:
        subl $8, %esp
        movl %esi, 4(%esp)
        movl %ebx, (%esp)
        movl 16(%esp), %eax
        movl 12(%esp), %ecx
        jmp LBB1_3      #label.0
LBB1_1: #label.0.no_exit.1_crit_edge.exitStub
        movl $1, %eax
        movl (%esp), %ebx
        movl 4(%esp), %esi
        addl $8, %esp
        ret
LBB1_2: #codeRepl5.exitStub
        xorl %eax, %eax
        movl (%esp), %ebx
        movl 4(%esp), %esi
        addl $8, %esp
        ret
LBB1_3: #label.0
        movl _last, %edx
        movl %edx, %esi
        incl %esi
        movl %esi, _last
        movl %ecx, %ebx
        # TRUNCATE movb %bl, %bl
        movl _block, %esi
        movb %bl, 1(%esi,%edx)
        cmpl %eax, _last
        jge LBB1_2      #codeRepl5.exitStub
LBB1_4: #label.0
        cmpl $257, %ecx
        jne LBB1_1      #label.0.no_exit.1_crit_edge.exitStub
        jmp LBB1_2      #codeRepl5.exitStub
... which is much better layout :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31282  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-29 21:05:41 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6a586c8d9a 
					 
					
						
						
							
							fix Generic/2006-10-29-Crash.ll  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31281  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-29 21:01:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5a145f0094 
					 
					
						
						
							
							Fix a load folding issue that Evan noticed: there is no need to export values  
						
						 
						
						... 
						
						
						
						used by comparisons in the main block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31279  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-29 18:23:37 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ba726ab3ec 
					 
					
						
						
							
							VLOAD is not the LoadSDNode opcode.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31276  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-29 06:14:47 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						f6aaaaa39e 
					 
					
						
						
							
							Remove spurious case. EXTLOAD is not one of the node opcodes.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-29 02:26:30 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bad7f48c70 
					 
					
						
						
							
							split critical edges more carefully and intelligently.  In particular, critical  
						
						 
						
						... 
						
						
						
						edges whose destinations are not phi nodes don't bother us.  Also, share
split edges, since the split edge can't have a phi.  This significantly
reduces the complexity of generated code in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 19:22:10 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6acfe12dd6 
					 
					
						
						
							
							Teach branch folding to fold identical jump tables together and to delete  
						
						 
						
						... 
						
						
						
						jump tables that are dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31273  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 18:34:47 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4eb44a285 
					 
					
						
						
							
							const'ify jump table stuff  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 18:17:09 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e7251a0377 
					 
					
						
						
							
							add an assert  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31267  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 18:11:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0737188220 
					 
					
						
						
							
							don't print dead jump tables  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 18:10:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cf420cca57 
					 
					
						
						
							
							improve deletion of blocks that just contain branches by knowing that  
						
						 
						
						... 
						
						
						
						the pred block doesn't fall through into them if it's a jumptable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31263  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 17:32:47 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						1c6f01aaa5 
					 
					
						
						
							
							Load and stores have not been uniqued properly.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31261  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 17:25:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						47e32e6b83 
					 
					
						
						
							
							Split *all* critical edges before isel.  This resolves issues with spill code  
						
						 
						
						... 
						
						
						
						being inserted on unsplit critical edges, which introduces (sometimes large
amounts of) partially dead spill code.
This also fixes PR925 + CodeGen/Generic/switch-crit-edge-constant.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-28 17:04:37 +00:00