Dan Gohman 
							
						 
					 
					
						
						
							
						
						3f5e915652 
					 
					
						
						
							
							Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp,  
						
						... 
						
						
						
						and fix a bug in BitVector's reference proxy class which this exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102768  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-30 20:50:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						730f743c01 
					 
					
						
						
							
							work around an MSVC2010 bug, PR6504  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98653  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-16 19:07:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e7962c9897 
					 
					
						
						
							
							Implement operators |=, &=, and ^= for SmallBitVector, and remove the  
						
						... 
						
						
						
						restriction in BitVector for |= and ^= that the operand must be the
same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95768  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-10 05:54:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						cb89afc965 
					 
					
						
						
							
							Add a SmallBitVector class, which mimics BitVector but uses only  
						
						... 
						
						
						
						a single pointer (PointerIntPair) member. In "small" mode, the
pointer field is reinterpreted as a set of bits. In "large" mode,
the pointer points to a heap-allocated object.
Also, give BitVector empty and swap functions.
And, add some simple unittests for BitVector and SmallBitVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92730  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 15:04:49 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						de551f91d8 
					 
					
						
						
							
							Use CHAR_BIT instead of hard-coding 8 in several places where it  
						
						... 
						
						
						
						is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68227  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-04-01 18:45:54 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Levenstein 
							
						 
					 
					
						
						
							
						
						8d8a0c36b7 
					 
					
						
						
							
							Fix a bug in BitVector.h. All assignment operations (except the usual  
						
						... 
						
						
						
						assignment operator) were returning a copy of the bit vector, instead of a
reference! This old semantics probably did not meet the expectations.
With this patch, chained assignments happen to the right object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63012  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-26 11:07:20 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						3a54b3dc87 
					 
					
						
						
							
							Removed trailing whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-09 19:25:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1baa88e3de 
					 
					
						
						
							
							Prune and tidy #includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51697  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 19:52:31 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						34cd4a484e 
					 
					
						
						
							
							Fix more -Wshorten-64-to-32 warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-05 18:30:58 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						ae9f3a3b7c 
					 
					
						
						
							
							Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-20 11:08:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ed47a1335 
					 
					
						
						
							
							Don't attribute in file headers anymore.  See llvmdev for the  
						
						... 
						
						
						
						discussion of this change.  Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 19:59:42 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						9324665a78 
					 
					
						
						
							
							Added two bounds checks to the BitVector class to detect  
						
						... 
						
						
						
						out-of-bounds bit accesses.  The checks are only performed
in a Debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44815  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-10 22:28:35 +00:00 
						 
				 
			
				
					
						
							
							
								Hartmut Kaiser 
							
						 
					 
					
						
						
							
						
						efd4a5144b 
					 
					
						
						
							
							Updated VC++ build system.  
						
						... 
						
						
						
						Silenced some VC warnings.
I'm getting linker errors, though: unresolved externals:
llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)
and
llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)
Where are these defined?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-17 14:56:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						886636445d 
					 
					
						
						
							
							make operator== work with non-equal sized bitvectors, as long as  
						
						... 
						
						
						
						the extra bits are all zeros.  This allows  "010" and "010000" to be
treated as equal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42889  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-12 03:48:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						343960af31 
					 
					
						
						
							
							make bitvector  &= do the right thing if vectors have mismatched length.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42860  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-11 06:12:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						b1183c1ff3 
					 
					
						
						
							
							This fixes resizing issues with BitVectors. It ensures that the BitWord type and type size is always used, and ensures completely correct clearing of unused high bits, and setting of bits when resizing. It should resolve PR1563.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-06 20:52:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c5c7f755c8 
					 
					
						
						
							
							Evidently my earlier fix did not go far enough.  When resizing a zero-sized  
						
						... 
						
						
						
						BitVector, make sure to set or clear ALL of the bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38481  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-10 02:01:16 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0c81450a0c 
					 
					
						
						
							
							When resizing a BitVector with size 0, be sure to clear the low word before using it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-09 23:39:39 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						2864b77efc 
					 
					
						
						
							
							Rename identifier that GCC uses as a macro, breaking llvm-gcc build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36474  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-26 15:07:47 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						bed2946a96 
					 
					
						
						
							
							Removed tabs everywhere except autogenerated & external files. Add make  
						
						... 
						
						
						
						target for tabs checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-16 18:10:23 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						ecd276a498 
					 
					
						
						
							
							Fix release build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35676  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-04 22:13:39 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						5502bf67cd 
					 
					
						
						
							
							Properly emit range comparisons for switch cases, where neighbour cases  
						
						... 
						
						
						
						go to the same destination. Now we're producing really good code for
switch-lower-feature.ll testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35672  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-04 21:14:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b9174dd5dc 
					 
					
						
						
							
							Add a dtor to fix leaks from all clients of BitVector.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35200  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 02:10:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0eca22af62 
					 
					
						
						
							
							Make it 64-bit safe.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-02 02:31:37 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b5aabee330 
					 
					
						
						
							
							Proper fix for the off-by-one bug in clear_unused_bits().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 21:38:15 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						f1f007d2ff 
					 
					
						
						
							
							Fix an off-by-one bug in computing the index of the word to clear.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34326  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 20:49:10 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						9d1597b086 
					 
					
						
						
							
							Make sure Capacity gets initialized too.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34325  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 20:14:06 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						852b4baf47 
					 
					
						
						
							
							Missing a ;  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:29:05 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e01ad2d129 
					 
					
						
						
							
							BitVector::reference operator=(const reference& rhs) is unnecessary thanks to autoconvert to bool.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:21:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1f46998b3f 
					 
					
						
						
							
							Remove unnecessary checks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34319  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:18:12 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						638417f788 
					 
					
						
						
							
							operator== returns false when two bitvectors have different sizes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34317  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:16:21 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c761df18ae 
					 
					
						
						
							
							Merges two resize() variants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34316  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:12:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ccae61c5da 
					 
					
						
						
							
							Clear no longer deleting the bits to avoid mallocs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:10:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7bf26c1d68 
					 
					
						
						
							
							BitVector::count() bugs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34314  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:09:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						334df9d83f 
					 
					
						
						
							
							Eliminate a redundent ctor; eliminate one more potential new [0].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:05:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						057f8e0845 
					 
					
						
						
							
							1 -> 1L since BitWord has type unsigned long.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34312  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 19:03:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5f92ce4696 
					 
					
						
						
							
							Eliminate new[0], just set Bits to NULL.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 18:59:15 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c48aafe6c6 
					 
					
						
						
							
							Inverted the condition by accident.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 18:48:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						506e899490 
					 
					
						
						
							
							Bug fixes: assignment operator forgot to copy over size; copy ctor forgot to clear unused top bits.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 08:15:58 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ad1d5c3bc5 
					 
					
						
						
							
							Add a BitVector class.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34301  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-15 05:56:11 +00:00