[PATCH] D52440: Emit lifetime markers for temporary function parameter aggregates
Ian Tessier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 24 15:03:04 PDT 2018
itessier created this revision.
itessier added a reviewer: rjmccall.
Herald added a subscriber: cfe-commits.
Clang is not emitting lifetime markers for temporary function parameters, so more stack space is potentially being allocated than necessary.
A new parameter is added to the CreateAggTemp and EmitAnyExprToTemp functions to indicate whether to emit lifetime markers for aggregates, so that the EmitCallArg function can request them when evaluating an arg. The parameter is defaulted to false so that the behaviour of other callers is not affected.
Repository:
rC Clang
https://reviews.llvm.org/D52440
Files:
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CodeGenFunction.h
test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
test/CodeGenCXX/stack-reuse-miscompile.cpp
test/CodeGenCXX/stack-reuse.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52440.166755.patch
Type: text/x-patch
Size: 8709 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180924/486ff3ca/attachment.bin>
More information about the cfe-commits
mailing list