diff options
author | Martin Jambor <mjambor@suse.cz> | 2011-01-15 00:19:08 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2011-01-15 00:19:08 +0100 |
commit | 05842ff57c6eb899ffb7bfd6624634f5aa4df878 (patch) | |
tree | 59421812ee885d513e8c87c7fb099f042a10672d /gcc/doc | |
parent | f65cf2b706151e0310518eef48bab95cf8155c3c (diff) | |
download | gcc-05842ff57c6eb899ffb7bfd6624634f5aa4df878.zip gcc-05842ff57c6eb899ffb7bfd6624634f5aa4df878.tar.gz gcc-05842ff57c6eb899ffb7bfd6624634f5aa4df878.tar.bz2 |
common.opt (fdevirtualize): New flag.
2011-01-15 Martin Jambor <mjambor@suse.cz>
* common.opt (fdevirtualize): New flag.
* doc/invoke.texi (Option Summary): Document it.
* opts.c (default_options_table): Add devirtualize flag.
* ipa-prop.c (detect_type_change): Return immediately if
devirtualize flag is not set.
(detect_type_change_ssa): Likewise.
(compute_known_type_jump_func): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.
From-SVN: r168826
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 0a1625f..c7187f2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -340,8 +340,8 @@ Objective-C and Objective-C++ Dialects}. -fcprop-registers -fcrossjumping @gol -fcse-follow-jumps -fcse-skip-blocks -fcx-fortran-rules @gol -fcx-limited-range @gol --fdata-sections -fdce -fdce @gol --fdelayed-branch -fdelete-null-pointer-checks -fdse -fdse @gol +-fdata-sections -fdce -fdce -fdelayed-branch @gol +-fdelete-null-pointer-checks -fdse -fdevirtualize -fdse @gol -fearly-inlining -fipa-sra -fexpensive-optimizations -ffast-math @gol -ffinite-math-only -ffloat-store -fexcess-precision=@var{style} @gol -fforward-propagate -ffp-contract=@var{style} -ffunction-sections @gol @@ -5918,6 +5918,7 @@ also turns on the following optimization flags: -fcrossjumping @gol -fcse-follow-jumps -fcse-skip-blocks @gol -fdelete-null-pointer-checks @gol +-fdevirtualize @gol -fexpensive-optimizations @gol -fgcse -fgcse-lm @gol -finline-small-functions @gol @@ -6421,6 +6422,14 @@ Otherwise it is enabled at all levels: @option{-O0}, @option{-O1}, @option{-O2}, @option{-O3}, @option{-Os}. Passes that use the information are enabled independently at different optimization levels. +@item -fdevirtualize +@opindex fdevirtualize +Attempt to convert calls to virtual functions to direct calls. This +is done both within a procedure and interprocedurally as part of +indirect inlining (@code{-findirect-inlining}) and interprocedural constant +propagation (@option{-fipa-cp}). +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. + @item -fexpensive-optimizations @opindex fexpensive-optimizations Perform a number of minor optimizations that are relatively expensive. |