From f522930c8fe1554c4af6f4d87b6529be1b716ffc Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 12 Feb 2015 15:28:41 -0500 Subject: common.opt (-flifetime-dse): New. gcc/ * common.opt (-flifetime-dse): New. gcc/cp/ * decl.c (begin_destructor_body): Condition clobber on -flifetime-dse. From-SVN: r220657 --- gcc/doc/invoke.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gcc/doc') diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8a04790..5cce4f7 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -7888,6 +7888,16 @@ registers after writing to their lower 32-bit half. Enabled for Alpha, AArch64 and x86 at levels @option{-O2}, @option{-O3}, @option{-Os}. +@item -fno-lifetime-dse +@opindex fno-lifetime-dse +In C++ the value of an object is only affected by changes within its +lifetime: when the constructor begins, the object has an indeterminate +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. + @item -flive-range-shrinkage @opindex flive-range-shrinkage Attempt to decrease register pressure through register live range -- cgit v1.1