summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-06-03 06:58:52 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-06-03 06:58:52 +0000
commit06a67e2c6faee4645f43e786e292b5eafcb9b70f (patch)
treec0c702dd64a90ed2169866ecec654c4d02958670 /clang/lib/CodeGen/CodeGenFunction.h
parente00fec8fe470a800423688b448434f3b2340d038 (diff)
downloadbcm5719-llvm-06a67e2c6faee4645f43e786e292b5eafcb9b70f.tar.gz
bcm5719-llvm-06a67e2c6faee4645f43e786e292b5eafcb9b70f.zip
When emitting a multidimensional array new, emit the initializers for the
trailing elements as a single loop, rather than sometimes emitting a nest of several loops. This fixes a bug where CodeGen would sometimes try to emit an expression with the wrong type for the element being initialized. Plus various other minor cleanups to the IR produced for array new initialization. llvm-svn: 210079
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 750bec8b07f..d1e63a710bc 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -1647,7 +1647,8 @@ public:
llvm::Value *This);
void EmitNewArrayInitializer(const CXXNewExpr *E, QualType elementType,
- llvm::Value *NewPtr, llvm::Value *NumElements);
+ llvm::Value *NewPtr, llvm::Value *NumElements,
+ llvm::Value *AllocSizeWithoutCookie);
void EmitCXXTemporary(const CXXTemporary *Temporary, QualType TempType,
llvm::Value *Ptr);
OpenPOWER on IntegriCloud