Chris Lattner 
							
						 
					 
					
						
						
							
						
						46d1ddd13c 
					 
					
						
						
							
							add missing method, PR6284  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96489  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-17 18:39:56 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						8991d51ddc 
					 
					
						
						
							
							Adding missing methods for creating Add, Mul, Neg and Sub with NUW.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 12:53:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						411984810e 
					 
					
						
						
							
							Add utility routines for NSW multiply.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 03:10:26 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						bdc46c6af5 
					 
					
						
						
							
							Add utility routines for creating integer negation operators with NSW set.  
						
						... 
						
						
						
						Integer negation only overflows with INT_MIN, but that's an important case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 02:58:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f55eeb918e 
					 
					
						
						
							
							remove some more Context arguments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86235  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-06 05:59:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7b550ccfc5 
					 
					
						
						
							
							remove a bunch of extraneous LLVMContext arguments  
						
						... 
						
						
						
						from various APIs, addressing PR5325.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-06 04:27:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e5db7c4166 
					 
					
						
						
							
							InstrTypes.h includes Instruction.h, so it's not necessary to include both.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86162  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 19:42:20 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						131b0d2fcf 
					 
					
						
						
							
							Make two more LLVM headers standalone  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 13:39:23 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e18700a09a 
					 
					
						
						
							
							Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder  
						
						... 
						
						
						
						for consistency with ConstantFolder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85137  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 18:36:40 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						3548ea8e90 
					 
					
						
						
							
							For the NSWSub support in the builder to actually be useable,  
						
						... 
						
						
						
						there need to be corresponding changes to the constant folders,
done in this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82862  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-26 15:35:35 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6e7ad95868 
					 
					
						
						
							
							Revert 80959. It isn't sufficient to solve the full problem. And it  
						
						... 
						
						
						
						introduced regressions in the Ocaml bindings tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80969  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-03 23:34:49 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e56a94ef91 
					 
					
						
						
							
							Remove the API for creating ConstantExprs with the nsw, nuw, inbounds,  
						
						... 
						
						
						
						and exact flags. Because ConstantExprs are uniqued, creating an
expression with this flag causes all expressions with the same operands
to have the same flag, which may not be safe. Add, sub, mul, and sdiv
ConstantExprs are usually folded anyway, so the main interesting flag
here is inbounds, and the constant folder already knows how to set the
inbounds flag automatically in most cases, so there isn't an urgent need
for the API support.
This can be reconsidered in the future, but for now just removing these
API bits eliminates a source of potential trouble with little downside.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-03 22:17:40 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d6474fa1f1 
					 
					
						
						
							
							Add convenience functions for creating nsw add operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 20:20:39 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e2574d3215 
					 
					
						
						
							
							Add convenience functions for creating inbounds GEPs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 17:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						12ddd40953 
					 
					
						
						
							
							Make LLVMContext and LLVMContextImpl classes instead of structs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 17:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						59c4f5c2fc 
					 
					
						
						
							
							Add convenience functions for creating exact sdiv operators, and  
						
						... 
						
						
						
						use them in CreatePtrDiff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 17:05:24 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						48b2f3e485 
					 
					
						
						
							
							Factor some of the constants+context related code out into a separate header, to make LLVMContextImpl.h  
						
						... 
						
						
						
						not hideous.  Also, fix some MSVC compile errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-04 22:41:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						baf3c40440 
					 
					
						
						
							
							Move ConstantExpr to 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-29 18:55:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e922c02019 
					 
					
						
						
							
							Get rid of the Pass+Context magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 00:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						45524c58fd 
					 
					
						
						
							
							Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-10 00:49:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						7f6aa2b162 
					 
					
						
						
							
							Remove the vicmp and vfcmp instructions. Because we never had a release with  
						
						... 
						
						
						
						these instructions, no autoupgrade or backwards compatibility support is
provided.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-08 03:04:38 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						07cf79ef53 
					 
					
						
						
							
							"LLVMContext* " --> "LLVMContext *"  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 23:00:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						508955156a 
					 
					
						
						
							
							Thread LLVMContext through the constant folding APIs, which touches a lot of files.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74844  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 18:42:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae3a0be92e 
					 
					
						
						
							
							Split the Add, Sub, and Mul instruction opcodes into separate  
						
						... 
						
						
						
						integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72897  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-04 22:49:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b3ae97cffe 
					 
					
						
						
							
							Change TargetFolder's TD member from a reference to a  
						
						... 
						
						
						
						pointer, now that ConstantFoldConstantExpression can
accept a null TargetData pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-03 00:13:48 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						fe24bd3a89 
					 
					
						
						
							
							Add a NullFolder class that doesn't fold constants.  
						
						... 
						
						
						
						This may be used as the second IRBuilder template
parameter, the idea being that people learning LLVM
may find it helpful (several people asked on IRC
if it was possible to turn off constant folding
because it made it hard for them to see what was
going on).  Compiles, but otherwise completely
untested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-12 20:39:27 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						20df07ba22 
					 
					
						
						
							
							Point people to ConstantExpr and ConstantFolding,  
						
						... 
						
						
						
						in case they get the wrong idea.  Fit in 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54676  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-12 09:43:15 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1e7f7865eb 
					 
					
						
						
							
							Make it possible to use different constant  
						
						... 
						
						
						
						folding policies with IRBuilder.  The default,
provided by ConstantFolder, is to do minimal
folding like now: what ConstantExpr provides.
An alternative is to use TargetFolder, which
uses target information to fold constants more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54640  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-11 15:29:30 +00:00