Dan Gohman 
							
						 
					 
					
						
						
							
						
						f042660197 
					 
					
						
						
							
							Move Instruction::isSafeToSpeculativelyExecute out of VMCore and  
						
						... 
						
						
						
						into Analysis as a standalone function, since there's no need for
it to be in VMCore. Also, update it to use isKnownNonZero and
other goodies available in Analysis, making it more precise,
enabling more aggressive optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-14 23:49:11 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						dd3149d579 
					 
					
						
						
							
							The maximum power of 2 dividing a power of 2 is itself.  This occurs  
						
						... 
						
						
						
						in 403.gcc and was spotted by my super-optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143054  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-26 20:55:21 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						fc6d3a4986 
					 
					
						
						
							
							Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-13 10:26:04 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						99e0b2a8df 
					 
					
						
						
							
							Move onlyUsedByLifetimeMarkers to ValueTracking so that it can be used by other  
						
						... 
						
						
						
						passes as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-27 04:20:45 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						d70d1a5c44 
					 
					
						
						
							
							According to my auto-simplifier the most common missed simplifications in  
						
						... 
						
						
						
						optimized code are:
  (non-negative number)+(power-of-two) != 0 -> true
and
  (x | 1) != 0 -> true
Instcombine knows about the second one of course, but only does it if X|1
has only one use.  These fire thousands of times in the testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124183  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-25 09:38:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						bd1801b555 
					 
					
						
						
							
							Give GetUnderlyingObject a TargetData, to keep it in sync  
						
						... 
						
						
						
						with BasicAA's DecomposeGEPExpression, which recently began
using a TargetData. This fixes PR8968, though the testcase
is awkward to reduce.
Also, update several off GetUnderlyingObject's users
which happen to have a TargetData handy to pass it in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-24 18:53:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bb89710ddd 
					 
					
						
						
							
							move isBytewiseValue out to ValueTracking.h/cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-26 20:15:01 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						5034dd318a 
					 
					
						
						
							
							Move Value::getUnderlyingObject to be a standalone  
						
						... 
						
						
						
						function so that it can live in Analysis instead of
VMCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121885  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-15 20:02:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a04096580a 
					 
					
						
						
							
							teach DSE to use GetPointerBaseWithConstantOffset to analyze  
						
						... 
						
						
						
						may-aliasing stores that partially overlap with different base
pointers.  This implements PR6043 and the non-variable part of
PR8657
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-30 23:05:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ed58a6f96f 
					 
					
						
						
							
							move GetPointerBaseWithConstantOffset out of GVN into ValueTracking.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-30 22:25:26 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						1f6efa3996 
					 
					
						
						
							
							Merge System into Support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-29 18:16:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						30963fbe8f 
					 
					
						
						
							
							move gep decomposition out of ValueTracking into BasicAA.  The form of  
						
						... 
						
						
						
						decomposition that it is doing is very basicaa specific and is only used
by basicaa.
Now with less tree breakingness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 22:07:29 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						4ae56d725d 
					 
					
						
						
							
							Revert r111375, "move gep decomposition out of ValueTracking into BasicAA.  The  
						
						... 
						
						
						
						form of", it doesn't pass tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 18:43:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6b63037306 
					 
					
						
						
							
							move gep decomposition out of ValueTracking into BasicAA.  The form of  
						
						... 
						
						
						
						decomposition that it is doing is very basicaa specific and is only used
by basicaa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 18:22:17 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						dffc308c0e 
					 
					
						
						
							
							Fix a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104947  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-28 16:06:09 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0a60fa3321 
					 
					
						
						
							
							Constify GetConstantStringInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-14 22:20:45 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						25ec483cfc 
					 
					
						
						
							
							Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.  
						
						... 
						
						
						
						No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-05 06:58:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						43ea505fb0 
					 
					
						
						
							
							Eliminate unnecessary LLVMContexts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 23:42:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1ce0eaa25f 
					 
					
						
						
							
							Implement PR1143 (at -m64) by making basicaa look through extensions.  We  
						
						... 
						
						
						
						previously already handled it at -m32 because there were no i32->i64 
extensions for addressing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 18:53:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e405c64f6b 
					 
					
						
						
							
							move DecomposeGEPExpression out into ValueTracking.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 17:12:50 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						ae3d802953 
					 
					
						
						
							
							Remove unused LLVMContext.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89642  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 03:29:18 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3dbb9e64d6 
					 
					
						
						
							
							Simplify ComputeMultiple so that it doesn't depend on TargetData.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89175  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-18 00:58:27 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						2b6705f5e7 
					 
					
						
						
							
							Add ComputeMultiple() analysis function that recursively determines if a Value V is a multiple of unsigned Base  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86675  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 08:28:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						8b67f774e9 
					 
					
						
						
							
							Move DataTypes.h to include/llvm/System, update all users. This breaks the last  
						
						... 
						
						
						
						direct inclusion edge from System to Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 01:35:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cf5128ec01 
					 
					
						
						
							
							add some comments to describe the invariants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81173  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-08 00:06:16 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						846a2f2703 
					 
					
						
						
							
							Handle TargetData with const.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80262  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-27 17:51:25 +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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						76f600b205 
					 
					
						
						
							
							Finish LLVMContext-ing lib/Analysis.  This required pushing LLVMContext's through the ValueTracking API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 22:37:39 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						0582ae99ba 
					 
					
						
						
							
							Oops...I committed too much.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66867  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-13 04:39:26 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						c7a09ab311 
					 
					
						
						
							
							Temporarily XFAIL this test.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-13 04:37:11 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						464bb782fb 
					 
					
						
						
							
							Fix misaligned whitespace. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-08 00:57:09 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d68a07650c 
					 
					
						
						
							
							Tidy up #includes, deleting a bunch of unnecessary #includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-05 17:59:02 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0ff39b3feb 
					 
					
						
						
							
							- Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag.  
						
						... 
						
						
						
						- Correctly handle memcpy from constant string which is zero-initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52891  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-30 07:31:25 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						6d116bc7ce 
					 
					
						
						
							
							Revert (52748 and friends):  
						
						... 
						
						
						
						Move GetConstantStringInfo to lib/Analysis. Remove
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
This unbreaks llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-29 17:57:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b746b82113 
					 
					
						
						
							
							Add back the capability to include nul characters in strings with  
						
						... 
						
						
						
						GetConstantStringInfo.  This will hopefully restore llvm-gcc to 
happy bootstrap land.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52851  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-28 05:33:32 +00:00 
						 
				 
			
				
					
						
							
							
								Cedric Venet 
							
						 
					 
					
						
						
							
						
						5e950627f9 
					 
					
						
						
							
							Add an include file needed for VS.  
						
						... 
						
						
						
						Add two new file to codegen project (VS).
This unbreak the build for VS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52831  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-27 18:00:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3648f9f0ae 
					 
					
						
						
							
							fix the regressions from Eric's patch by making GetConstantStringInfo  
						
						... 
						
						
						
						tolerate a non-nul-terminated string, and handling a direct global 
reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52813  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-27 03:36:51 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						0d2b0aba42 
					 
					
						
						
							
							Move GetConstantStringInfo to lib/Analysis. Remove  
						
						... 
						
						
						
						string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-26 00:31:12 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						65c6795af4 
					 
					
						
						
							
							It's invalid to take the one-past-the-end address of a non-array  
						
						... 
						
						
						
						object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 00:49:21 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						de9256ad2e 
					 
					
						
						
							
							Forgot to commit the ValueTracking header file along with r52396.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52401  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-17 13:54:33 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						74fc4d9686 
					 
					
						
						
							
							80 column fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52391  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-17 08:26:32 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						9772891219 
					 
					
						
						
							
							Make the InsertBefore argument to FindInsertedValue optional, so you can find an inserted value without modifying the code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52319  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 13:28:31 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						0a7413dad8 
					 
					
						
						
							
							Pass around Instruction* instead of Instruction& in FindInsertedValue and friends.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 13:13:08 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						b23d5adbc8 
					 
					
						
						
							
							Move FindScalarValue from InstructionCombining.cpp to ValueTracking.cpp. While  
						
						... 
						
						
						
						I'm at it, rename it to FindInsertedValue.
The only functional change is that newly created instructions are no longer
added to instcombine's worklist, but that is not really necessary anyway (and
I'll commit some improvements next that will completely remove the need).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 12:48:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						833f25d79e 
					 
					
						
						
							
							move CannotBeNegativeZero to ValueTracking.  Simplify some signbit comparisons.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51864  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-02 01:29:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						173234a68f 
					 
					
						
						
							
							move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits  
						
						... 
						
						
						
						out of instcombine into a new file in libanalysis.  This also teaches
ComputeNumSignBits about the number of sign bits in a constantint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51863  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-02 01:18:21 +00:00