From 5065f8a09e2ee6d80e76546e17e45395012c118c Mon Sep 17 00:00:00 2001 From: jason Date: Wed, 24 Feb 2016 15:18:04 +0000 Subject: Add -flifetime-dse=1. gcc/ * common.opt (flifetime-dse): Add -flifetime-dse=1. gcc/cp/ * decl.c (start_preparsed_function): Condition ctor clobber on flag_lifetime_dse > 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233672 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/doc/invoke.texi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/doc') diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9ca37936902..b8b2e7060d9 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -6809,7 +6809,10 @@ value, and any changes during the lifetime of the object are dead when the object is destroyed. Normally dead store elimination will take advantage of this; if your code relies on the value of the object storage persisting beyond the lifetime of the object, you can use this -flag to disable this optimization. +flag to disable this optimization. To preserve stores before the +constructor starts (e.g. because your operator new clears the object +storage) but still treat the object as dead after the destructor you, +can use -flifetime-dse=1. @item -flive-range-shrinkage @opindex flive-range-shrinkage -- cgit v1.2.1