48ddcf2cb5 
								
							 
						 
						
							
							
								
								Fix a CodeGen bug where we would skip zero-initialization for  
							
							... 
							
							
							
							array new with a non-trivial constructor. Pointed out in PR13380.
llvm-svn: 162643 
							
						 
						
							2012-08-25 07:11:29 +00:00  
				
					
						
							
							
								 
						
							
								b971d49765 
								
							 
						 
						
							
							
								
								Elide copy construction in new expressions.  PR11757.  
							
							... 
							
							
							
							llvm-svn: 150738 
							
						 
						
							2012-02-16 22:45:48 +00:00  
				
					
						
							
							
								 
						
							
								de6a86b4f6 
								
							 
						 
						
							
							
								
								Make array new on a pointer to data member type work correctly.  PR11523.  
							
							... 
							
							
							
							llvm-svn: 146291 
							
						 
						
							2011-12-09 23:05:37 +00:00  
				
					
						
							
							
								 
						
							
								f677a8e99e 
								
							 
						 
						
							
							
								
								Convert the standard default-construction loops to use phis and  
							
							... 
							
							
							
							partial destruction.
llvm-svn: 135033 
							
						 
						
							2011-07-13 06:10:41 +00:00  
				
					
						
							
							
								 
						
							
								3bdcff5866 
								
							 
						 
						
							
							
								
								When instantiating a C++ "new" expression, don't fake source locations  
							
							... 
							
							
							
							for the '(' and ')' around the initializer unless we actually have an
initializer. Fixes PR10197, an issue where we were value-initializing
rather than default-initializing.
llvm-svn: 133913 
							
						 
						
							2011-06-27 16:55:54 +00:00  
				
					
						
							
							
								 
						
							
								7ec4b4342c 
								
							 
						 
						
							
							
								
								Don't actually emit calls to the reserved global placement new and delete  
							
							... 
							
							
							
							operators;  their semantics are guaranteed by the language.
If someone wants to argue that freestanding compiles shouldn't recognize
this, I might be convinceable.
llvm-svn: 131395 
							
						 
						
							2011-05-16 01:05:12 +00:00  
				
					
						
							
							
								 
						
							
								040ad500c4 
								
							 
						 
						
							
							
								
								Fix a few more ConvertTypes that should be ConvertTypeForMems, fixing  
							
							... 
							
							
							
							two regressions in Boost.Config.
llvm-svn: 112908 
							
						 
						
							2010-09-02 23:24:14 +00:00  
				
					
						
							
							
								 
						
							
								8ed55a54fd 
								
							 
						 
						
							
							
								
								Abstract IR generation of array cookies into the C++ ABI class and  
							
							... 
							
							
							
							implement ARM array cookies.  Also fix a few unfortunate bugs:
  - throwing dtors in deletes prevented the allocation from being deleted
  - adding the cookie to the new[] size was not being considered for
    overflow (and, more seriously, was screwing up the earlier checks)
  - deleting an array via a pointer to array of class type was not
    causing any destructors to be run and was passing the unadjusted
    pointer to the deallocator
  - lots of address-space problems, in case anyone wants to support
    free store in a variant address space :)
llvm-svn: 112814 
							
						 
						
							2010-09-02 09:58:18 +00:00  
				
					
						
							
							
								 
						
							
								7648fb464b 
								
							 
						 
						
							
							
								
								Fix miscompilation. The cookie was not used when new'ing arrays with multiple dimensions.  
							
							... 
							
							
							
							llvm-svn: 112188 
							
						 
						
							2010-08-26 15:23:38 +00:00  
				
					
						
							
							
								 
						
							
								1194d5e3d2 
								
							 
						 
						
							
							
								
								Fix miscompilation. The custom new[]/delete[] methods were not getting called for arrays with more than 1 dimension.  
							
							... 
							
							
							
							llvm-svn: 112107 
							
						 
						
							2010-08-25 23:14:56 +00:00  
				
					
						
							
							
								 
						
							
								c1a42fdd53 
								
							 
						 
						
							
							
								
								Make sure to add MallocAttr to explicitly-declared operator new/new[]  
							
							... 
							
							
							
							when -fassume-sane-operator-new. Patch by Tom Jablin!
llvm-svn: 111363 
							
						 
						
							2010-08-18 15:06:25 +00:00  
				
					
						
							
							
								 
						
							
								05fc5be32f 
								
							 
						 
						
							
							
								
								Implement zero-initialization for array new when there is an  
							
							... 
							
							
							
							initializer of (). Make sure to use a simple memset() when we can, or
fall back to generating a loop when a simple memset will not
suffice. Fixes <rdar://problem/8212208>, a regression due to my work
in r107857.
llvm-svn: 108977 
							
						 
						
							2010-07-21 01:10:17 +00:00  
				
					
						
							
							
								 
						
							
								32ac583d91 
								
							 
						 
						
							
							
								
								in 'new int[4]', constant fold the 4*4=16 instead of  
							
							... 
							
							
							
							doing an overflow check.
llvm-svn: 108943 
							
						 
						
							2010-07-20 21:55:52 +00:00  
				
					
						
							
							
								 
						
							
								2be2074f75 
								
							 
						 
						
							
							
								
								temporarily disable this to fix the build bot.  
							
							... 
							
							
							
							llvm-svn: 108936 
							
						 
						
							2010-07-20 21:32:10 +00:00  
				
					
						
							
							
								 
						
							
								d040e6b25a 
								
							 
						 
						
							
							
								
								Don't build an aggregate constructor loop when the constructor is trivial.  
							
							... 
							
							
							
							llvm-svn: 102912 
							
						 
						
							2010-05-03 15:09:17 +00:00  
				
					
						
							
							
								 
						
							
								16e94af67c 
								
							 
						 
						
							
							
								
								Don't copy or initialize empty classes. Fixes PR7012.  
							
							... 
							
							
							
							llvm-svn: 102891 
							
						 
						
							2010-05-03 01:20:20 +00:00  
				
					
						
							
							
								 
						
							
								cc2ab0cdc9 
								
							 
						 
						
							
							
								
								Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset.  
							
							... 
							
							
							
							llvm-svn: 100305 
							
						 
						
							2010-04-04 03:10:52 +00:00  
				
					
						
							
							
								 
						
							
								f7f3bff646 
								
							 
						 
						
							
							
								
								Revert r100193 since it causes failures in objc in clang  
							
							... 
							
							
							
							llvm-svn: 100200 
							
						 
						
							2010-04-02 18:43:42 +00:00  
				
					
						
							
							
								 
						
							
								4b82a88764 
								
							 
						 
						
							
							
								
								Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset.  
							
							... 
							
							
							
							llvm-svn: 100193 
							
						 
						
							2010-04-02 18:04:30 +00:00  
				
					
						
							
							
								 
						
							
								adb58e32cc 
								
							 
						 
						
							
							
								
								Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.  
							
							... 
							
							
							
							llvm-svn: 99949 
							
						 
						
							2010-03-30 22:28:46 +00:00  
				
					
						
							
							
								 
						
							
								231e99743a 
								
							 
						 
						
							
							
								
								Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset  
							
							... 
							
							
							
							llvm-svn: 99930 
							
						 
						
							2010-03-30 21:02:45 +00:00  
				
					
						
							
							
								 
						
							
								13c88c7269 
								
							 
						 
						
							
							
								
								implement PR5654: add -fassume-sane-operator-new, which is enabled by default, and adds the malloc attribute to the global function new() and to the overloaded new operators.  
							
							... 
							
							
							
							feel free to chage the name to this lengthy argument
llvm-svn: 91543 
							
						 
						
							2009-12-16 16:59:22 +00:00  
				
					
						
							
							
								 
						
							
								18ada9856f 
								
							 
						 
						
							
							
								
								Handle ImplicitValueInitExpr in AggExprEmitter.  
							
							... 
							
							
							
							llvm-svn: 91519 
							
						 
						
							2009-12-16 06:57:54 +00:00  
				
					
						
							
							
								 
						
							
								8fbe78f6fc 
								
							 
						 
						
							
							
								
								Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.  
							
							... 
							
							
							
							- This is designed to make it obvious that %clang_cc1 is a "test variable"
   which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
   can be useful to redefine what gets run as 'clang -cc1' (for example, to set
   a default target).
llvm-svn: 91446 
							
						 
						
							2009-12-15 20:14:24 +00:00  
				
					
						
							
							
								 
						
							
								831451b417 
								
							 
						 
						
							
							
								
								Fix the test case failed in buildbot.  
							
							... 
							
							
							
							llvm-svn: 89791 
							
						 
						
							2009-11-24 19:37:10 +00:00  
				
					
						
							
							
								 
						
							
								835026e9f1 
								
							 
						 
						
							
							
								
								Refactor collection of call arguments in common code.  
							
							... 
							
							
							
							Add support for variadic collection functions. More to do
here.
llvm-svn: 89781 
							
						 
						
							2009-11-24 18:29:37 +00:00  
				
					
						
							
							
								 
						
							
								5838108317 
								
							 
						 
						
							
							
								
								Use EmitStoreOfScalar when copying the scalar to the space allocated by 'new'.  
							
							... 
							
							
							
							llvm-svn: 89613 
							
						 
						
							2009-11-22 19:25:33 +00:00  
				
					
						
							
							
								 
						
							
								d8ff51bf49 
								
							 
						 
						
							
							
								
								Fix test portability.  
							
							... 
							
							
							
							llvm-svn: 86911 
							
						 
						
							2009-11-12 00:41:41 +00:00  
				
					
						
							
							
								 
						
							
								f771681e63 
								
							 
						 
						
							
							
								
								Emit new[] cookie when needed.  
							
							... 
							
							
							
							llvm-svn: 82642 
							
						 
						
							2009-09-23 18:59:48 +00:00  
				
					
						
							
							
								 
						
							
								b4bd0666d2 
								
							 
						 
						
							
							
								
								Basic support for new[].  
							
							... 
							
							
							
							llvm-svn: 82628 
							
						 
						
							2009-09-23 16:07:23 +00:00  
				
					
						
							
							
								 
						
							
								fa7c608ecc 
								
							 
						 
						
							
							
								
								Fix a thinko.  
							
							... 
							
							
							
							llvm-svn: 72679 
							
						 
						
							2009-06-01 00:26:14 +00:00  
				
					
						
							
							
								 
						
							
								ca50119a31 
								
							 
						 
						
							
							
								
								Check for null correctly for new expressions.  
							
							... 
							
							
							
							llvm-svn: 72678 
							
						 
						
							2009-06-01 00:05:16 +00:00  
				
					
						
							
							
								 
						
							
								cba81fc4de 
								
							 
						 
						
							
							
								
								Improve irgen of 'new' further.  
							
							... 
							
							
							
							llvm-svn: 72677 
							
						 
						
							2009-05-31 21:53:59 +00:00  
				
					
						
							
							
								 
						
							
								96c012ff8b 
								
							 
						 
						
							
							
								
								...and aggregate POD types.  
							
							... 
							
							
							
							llvm-svn: 72676 
							
						 
						
							2009-05-31 21:12:26 +00:00  
				
					
						
							
							
								 
						
							
								60d0c2c1c2 
								
							 
						 
						
							
							
								
								Support for complex types.  
							
							... 
							
							
							
							llvm-svn: 72675 
							
						 
						
							2009-05-31 21:07:58 +00:00  
				
					
						
							
							
								 
						
							
								ec71f61608 
								
							 
						 
						
							
							
								
								Better support for scalar POD types in 'new' expressions.  
							
							... 
							
							
							
							llvm-svn: 72674 
							
						 
						
							2009-05-31 20:56:36 +00:00  
				
					
						
							
							
								 
						
							
								6f9dabff6d 
								
							 
						 
						
							
							
								
								Make sure to copy back arguments that can be changed by FindAllocationOverload. This fixes placement new. (Sebastian, please review).  
							
							... 
							
							
							
							llvm-svn: 72673 
							
						 
						
							2009-05-31 20:26:12 +00:00  
				
					
						
							
							
								 
						
							
								1832f52b10 
								
							 
						 
						
							
							
								
								Very basic irgen support for new expressions.  
							
							... 
							
							
							
							llvm-svn: 72672 
							
						 
						
							2009-05-31 20:21:44 +00:00