aeb85680fb 
								
							 
						 
						
							
							
								
								Dimitry Andric:  many visibility fixes.  Howard:  Much appreciated.  Can you send me a patch to CREDITS.TXT?  
							
							... 
							
							
							
							llvm-svn: 163862 
							
						 
						
							2012-09-14 00:39:16 +00:00  
				
					
						
							
							
								 
						
							
								4cb38a82a2 
								
							 
						 
						
							
							
								
								This commit establishes a new bucket_count policy in the unordered containers:  The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client.  And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %.  If the client does not specify a number of buckets, then the policy remains unchanged:  a prime number of buckets is selected.  The growth policy is that the number of buckets is roughly doubled when needed.  While growing, either the prime, or the power-of-2 strategy will be preserved.  There is a small run time cost for putting in this switch.  For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%.  However with more typical use cases, e.g. strings, the cost is in the noise level.  I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast.  However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions.  Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely).  In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers.  Casual users of the hash containers will not notice the introduction of this tuning knob.  Those clients who swear by power-of-2 hash containers can now opt-in to that strategy.  Clients who prefer a prime number of buckets can continue as they have.  
							
							... 
							
							
							
							llvm-svn: 159836 
							
						 
						
							2012-07-06 17:31:14 +00:00  
				
					
						
							
							
								 
						
							
								a1a9e77122 
								
							 
						 
						
							
							
								
								As an extension, support incomplete types in the unordered containers to match what we already do in the associative containers.  
							
							... 
							
							
							
							llvm-svn: 146376 
							
						 
						
							2011-12-12 17:26:24 +00:00  
				
					
						
							
							
								 
						
							
								c206366fd7 
								
							 
						 
						
							
							
								
								Quash a whole bunch of warnings  
							
							... 
							
							
							
							llvm-svn: 145624 
							
						 
						
							2011-12-01 20:21:04 +00:00  
				
					
						
							
							
								 
						
							
								c003db1fca 
								
							 
						 
						
							
							
								
								Further macro protection by replacing _[A-Z] with _[A-Z]p  
							
							... 
							
							
							
							llvm-svn: 145410 
							
						 
						
							2011-11-29 18:15:50 +00:00  
				
					
						
							
							
								 
						
							
								ab4f438239 
								
							 
						 
						
							
							
								
								Add protection from min/max macros  
							
							... 
							
							
							
							llvm-svn: 145407 
							
						 
						
							2011-11-29 16:45:27 +00:00  
				
					
						
							
							
								 
						
							
								073458b1ab 
								
							 
						 
						
							
							
								
								Windows support by Ruben Van Boxem.  
							
							... 
							
							
							
							llvm-svn: 142235 
							
						 
						
							2011-10-17 20:05:10 +00:00  
				
					
						
							
							
								 
						
							
								f622b58c83 
								
							 
						 
						
							
							
								
								Fixed PR10507 ( http://llvm.org/bugs/show_bug.cgi?id=10507 )  
							
							... 
							
							
							
							llvm-svn: 136595 
							
						 
						
							2011-07-31 17:04:30 +00:00  
				
					
						
							
							
								 
						
							
								aa41ea2cc1 
								
							 
						 
						
							
							
								
								Revert r136546, which was submitted without review.  
							
							... 
							
							
							
							Original change:
Destruct elements of hash tables when removing individual entries from
the hash_table. I think this is the correct solution to PR10507, but I'm
not sure since this is a little bit cargo-culted. Howard, please review.
llvm-svn: 136576 
							
						 
						
							2011-07-30 21:10:16 +00:00  
				
					
						
							
							
								 
						
							
								9663c8cb15 
								
							 
						 
						
							
							
								
								Destruct elements of hash tables when removing individual entries from  
							
							... 
							
							
							
							the hash_table. I think this is the correct solution to PR10507, but I'm
not sure since this is a little bit cargo-culted. Howard, please review.
llvm-svn: 136546 
							
						 
						
							2011-07-30 00:18:12 +00:00  
				
					
						
							
							
								 
						
							
								1f8da84b76 
								
							 
						 
						
							
							
								
								Fix uninitialized loop counter.  http://llvm.org/bugs/show_bug.cgi?id=10278  
							
							... 
							
							
							
							llvm-svn: 134405 
							
						 
						
							2011-07-05 14:14:17 +00:00  
				
					
						
							
							
								 
						
							
								ce48a1137d 
								
							 
						 
						
							
							
								
								_STD -> _VSTD to avoid macro clash on windows  
							
							... 
							
							
							
							llvm-svn: 134190 
							
						 
						
							2011-06-30 21:18:19 +00:00  
				
					
						
							
							
								 
						
							
								ce53420e37 
								
							 
						 
						
							
							
								
								Provide names for template and function parameters in forward declarations.  The purpose is to aid automated documentation tools.  
							
							... 
							
							
							
							llvm-svn: 133008 
							
						 
						
							2011-06-14 19:58:17 +00:00  
				
					
						
							
							
								 
						
							
								3714107ed6 
								
							 
						 
						
							
							
								
								noexcept for <unordered_map>.  
							
							... 
							
							
							
							llvm-svn: 132646 
							
						 
						
							2011-06-04 18:54:24 +00:00  
				
					
						
							
							
								 
						
							
								73736effce 
								
							 
						 
						
							
							
								
								Fixed two problems found by Chris Jefferson:  Made operator>> for char consistent with gcc.  Opened an LWG issue on this one.  2) Renamed some private typedefs which are causing boost grief.  
							
							... 
							
							
							
							llvm-svn: 126576 
							
						 
						
							2011-02-27 18:02:02 +00:00  
				
					
						
							
							
								 
						
							
								72c5e14203 
								
							 
						 
						
							
							
								
								Qualify calls to addressof with std::.  Bug 9106  
							
							... 
							
							
							
							llvm-svn: 124726 
							
						 
						
							2011-02-02 17:36:20 +00:00  
				
					
						
							
							
								 
						
							
								412dbebe1b 
								
							 
						 
						
							
							
								
								license change  
							
							... 
							
							
							
							llvm-svn: 119395 
							
						 
						
							2010-11-16 22:09:02 +00:00  
				
					
						
							
							
								 
						
							
								43d9923860 
								
							 
						 
						
							
							
								
								visibility-decoration.  
							
							... 
							
							
							
							llvm-svn: 114451 
							
						 
						
							2010-09-21 17:32:39 +00:00  
				
					
						
							
							
								 
						
							
								959cf8aede 
								
							 
						 
						
							
							
								
								Fix whitespace  
							
							... 
							
							
							
							llvm-svn: 113089 
							
						 
						
							2010-09-04 23:46:48 +00:00  
				
					
						
							
							
								 
						
							
								7609c9b665 
								
							 
						 
						
							
							
								
								Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.  
							
							... 
							
							
							
							llvm-svn: 113086 
							
						 
						
							2010-09-04 23:28:19 +00:00  
				
					
						
							
							
								 
						
							
								b3371f6f49 
								
							 
						 
						
							
							
								
								Fixing whitespace problems  
							
							... 
							
							
							
							llvm-svn: 111750 
							
						 
						
							2010-08-22 00:02:43 +00:00  
				
					
						
							
							
								 
						
							
								5b08a8a432 
								
							 
						 
						
							
							
								
								Wiped out some non-ascii characters that snuck into the copyright.  
							
							... 
							
							
							
							llvm-svn: 103516 
							
						 
						
							2010-05-11 21:36:01 +00:00  
				
					
						
							
							
								 
						
							
								3e519524c1 
								
							 
						 
						
							
							
								
								libcxx initial import  
							
							... 
							
							
							
							llvm-svn: 103490 
							
						 
						
							2010-05-11 19:42:16 +00:00