From dbe7d9e3ffd9c5cdb879dd705ed86da5972773ac Mon Sep 17 00:00:00 2001 From: Radovan Obradovic Date: Wed, 28 May 2014 09:43:41 +0000 Subject: [PATCH] -fuse-caller-save - Add documentation 2014-05-28 Radovan Obradovic Tom de Vries * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to gccoptlist. (@item -fuse-caller-save): New item. Co-Authored-By: Tom de Vries From-SVN: r211009 --- gcc/ChangeLog | 7 +++++++ gcc/doc/invoke.texi | 12 ++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6ddd99e549..ba42f562577 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-05-28 Radovan Obradovic + Tom de Vries + + * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to + gccoptlist. + (@item -fuse-caller-save): New item. + 2014-05-28 Radovan Obradovic Tom de Vries diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fcdcb1d04b4..7f137793698 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -429,8 +429,8 @@ Objective-C and Objective-C++ Dialects}. -ftree-vectorize -ftree-vrp @gol -funit-at-a-time -funroll-all-loops -funroll-loops @gol -funsafe-loop-optimizations -funsafe-math-optimizations -funswitch-loops @gol --fvariable-expansion-in-unroller -fvect-cost-model -fvpt -fweb @gol --fwhole-program -fwpa -fuse-ld=@var{linker} -fuse-linker-plugin @gol +-fuse-caller-save -fvariable-expansion-in-unroller -fvect-cost-model -fvpt @gol +-fweb -fwhole-program -fwpa -fuse-ld=@var{linker} -fuse-linker-plugin @gol --param @var{name}=@var{value} -O -O0 -O1 -O2 -O3 -Os -Ofast -Og} @@ -7741,6 +7741,14 @@ and then tries to find ways to combine them. Enabled by default at @option{-O1} and higher. +@item -fuse-caller-save +Use caller save registers for allocation if those registers are not used by +any called function. In that case it is not necessary to save and restore +them around calls. This is only possible if called functions are part of +same compilation unit as current function and they are compiled before it. + +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. + @item -fconserve-stack @opindex fconserve-stack Attempt to minimize stack usage. The compiler attempts to use less