Chris Lattner 
							
						 
					 
					
						
						
							
						
						ae5d51c9c9 
					 
					
						
						
							
							Fix Transforms/ScalarRepl/2006-10-23-PointerUnionCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31151  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-24 06:26:32 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						b83eb6447b 
					 
					
						
						
							
							For PR950:  
						
						... 
						
						
						
						This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-20 07:07:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c836333c3b 
					 
					
						
						
							
							Implement SROA of unions with mixed pointers/integers in them.  This implements  
						
						... 
						
						
						
						PR892 and Transforms/ScalarRepl/union-pointer.ll:test2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30825  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-08 23:53:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5b121cc688 
					 
					
						
						
							
							Implement Transforms/ScalarRepl/union-pointer.ll:test  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30823  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-08 23:28:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f8897f22e 
					 
					
						
						
							
							eliminate RegisterOpt.  It does the same thing as RegisterPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-27 22:42:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4f0b3a084 
					 
					
						
						
							
							s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-27 12:54:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9525528a7d 
					 
					
						
						
							
							Use hidden visibility to make symbols in an anonymous namespace get  
						
						... 
						
						
						
						dropped.  This shrinks libllvmgcc.dylib another 67K
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-28 23:17:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						df4f226cdc 
					 
					
						
						
							
							Fix Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27912  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-20 20:48:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						de6df88529 
					 
					
						
						
							
							Teach scalarrepl to promote unions of vectors and floats, producing  
						
						... 
						
						
						
						insert/extractelement operations.  This implements
Transforms/ScalarRepl/vector_promote.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27710  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-14 21:42:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						25de486263 
					 
					
						
						
							
							Fix a miscompilation of 188.ammp with the new CFE.  188.ammp is accessing  
						
						... 
						
						
						
						arrays out of range in a horrible way, but we shouldn't break it anyway.
Details in the comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-08 01:05:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						15256cb14e 
					 
					
						
						
							
							Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25587  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-24 19:36:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dac58ad983 
					 
					
						
						
							
							Make iostream #inclusion explicit  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25514  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-22 23:32:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6860f6a01c 
					 
					
						
						
							
							Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefined  
						
						... 
						
						
						
						behavior in 126.gcc on big-endian systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-14 17:23:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a188894d67 
					 
					
						
						
							
							Implement a little hack for parity with GCC on crafty.  This speeds up  
						
						... 
						
						
						
						186.crafty by about 16% (from 15.109s to 13.045s) on my system.
This turns allocas with unions/casts into scalars.  For example crafty has
something like this:
    union doub {
      unsigned short i[4];
      long long d;
    };
int f(long long a) {
  return ((union doub){.d=a}).i[1];
}
Instead of generating loads and stores to an alloca, we now promote the
whole thing to a scalar long value.
This implements: Transforms/ScalarRepl/AggregatePromote.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-12 07:19:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						14b0529532 
					 
					
						
						
							
							Add support alignment of allocation instructions.  
						
						... 
						
						
						
						Add support for specifying alignment and size of setjmp jmpbufs.
No targets currently do anything with this information, nor is it presrved
in the bytecode representation.  That's coming up next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24196  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-05 09:21:28 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						fd93908ae8 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 23:48:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2cc34627bb 
					 
					
						
						
							
							Silence warnings  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-08 19:34:41 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						96326f9d31 
					 
					
						
						
							
							Remove unused variable for compilation by VC++.  
						
						... 
						
						
						
						Patch contributed by Morten Ofstad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-11-15 17:29:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d878ecd904 
					 
					
						
						
							
							Teach SROA how to promote an array index that is variable, if the dimension  
						
						... 
						
						
						
						of the array is just two.  This occurs 8 times in gcc, 6 times in crafty, and
12 times in 099.go.
This implements ScalarRepl/sroa_two.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17727  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-11-14 05:00:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f5990edc87 
					 
					
						
						
							
							Rearrange some code, no functionality changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17724  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-11-14 04:24:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4b50156049 
					 
					
						
						
							
							Prototype these functions more accurately  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16432  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-20 04:43:15 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						551ccae044 
					 
					
						
						
							
							Changes For Bug 352  
						
						... 
						
						
						
						Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-01 22:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						d8e1eea678 
					 
					
						
						
							
							Fix #includes of i*.h => Instructions.h as per PR403.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-29 17:05:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fc1230dd6 
					 
					
						
						
							
							Fixes working towards PR341  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-15 01:50:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8430a4545c 
					 
					
						
						
							
							Do not loop over uses as we delete them.  This causes iterators to be  
						
						... 
						
						
						
						invalidated out from under us.  This bug goes back to revision 1.1: scary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14242  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-19 02:02:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						28977af72a 
					 
					
						
						
							
							Support getelementptr instructions which use uint's to index into structure  
						
						... 
						
						
						
						types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-05 01:30:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d866473094 
					 
					
						
						
							
							Finegrainify namespacification  
						
						... 
						
						
						
						Fix regressions ScalarRepl/basictest.ll & arraytest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10287  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-02 17:43:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						be883a23ed 
					 
					
						
						
							
							Do not use index type to determine what it is indexing into!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10226  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-25 21:09:18 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						d0fde30ce8 
					 
					
						
						
							
							Put all LLVM code into the llvm namespace, as per bug 109.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-11 22:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						546fc40d69 
					 
					
						
						
							
							Fix PR66 & ScalarRepl/2003-10-29-ArrayProblem.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9585  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-29 17:55:44 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						b576c94c15 
					 
					
						
						
							
							Added LLVM project notice to the top of every C++ source file.  
						
						... 
						
						
						
						Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 19:43:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43f820d1f7 
					 
					
						
						
							
							Change the interface to PromoteMemToReg to also take a DominatorTree  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-05 21:20:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						02a3be020a 
					 
					
						
						
							
							Rename Function::getEntryNode -> getEntryBlock  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-20 14:39:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8fce16ef1a 
					 
					
						
						
							
							Do not return success after checking only the FIRST USE of a gep instruction.  
						
						... 
						
						
						
						Instead, check all uses.
This fixes bug: ScalarRepl/2003-09-12-IncorrectPromote.ll
This also fixes the miscompilation of Ptrdist/bc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8493  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-12 16:02:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fe7ea0da17 
					 
					
						
						
							
							Minor optimization efficiency improvement:  
						
						... 
						
						
						
						- Run mem2reg promotion first
  - Only rerun passes if the previous thing changed something
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8490  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-12 15:36:03 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						3cfb6b13c0 
					 
					
						
						
							
							Apostrophes are only used for possession and quoting.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8473  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-11 16:58:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						38aec32560 
					 
					
						
						
							
							Integrate functionality of the mem2reg pass directly into this pass to make  
						
						... 
						
						
						
						the combination more effective
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-11 16:45:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a15854c9fe 
					 
					
						
						
							
							ScalarRepl does not modify the CFG.  Say so!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8243  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-31 00:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6806f5614d 
					 
					
						
						
							
							DEBUG got moved to Support/Debug.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7492  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-01 22:15:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c07736a397 
					 
					
						
						
							
							Simplify code by using ConstantInt::getRawValue instead of checking to see  
						
						... 
						
						
						
						whether the constant is signed or unsigned, then casting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-07-23 15:22:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b37923f9a1 
					 
					
						
						
							
							Okay totally give up on trying to optimize aggregates that cannot be completely  
						
						... 
						
						
						
						broken up into their elements.  Too many programs break because of this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-30 19:22:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						26d2ca1d13 
					 
					
						
						
							
							add a check that allows the SRoA pass to avoid breaking programs, even if their  
						
						... 
						
						
						
						behavior is technically undefined
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-30 18:09:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						261d686737 
					 
					
						
						
							
							Fix bug: ScalarRepl/2003-05-30-MultiLevel.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6428  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-30 05:26:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5e062a1eda 
					 
					
						
						
							
							Fix bug: ScalarRepl/2003-05-29-ArrayFail.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6425  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-30 04:15:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d10376bee5 
					 
					
						
						
							
							* Actually USE the statistic that we made  
						
						... 
						
						
						
						* Implement SRoA for arrays
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6349  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-27 16:09:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ed7b41ea90 
					 
					
						
						
							
							Implementation of the simple "scalar replacement of aggregates" transformation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-05-27 15:45:27 +00:00