This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, PR 45934 4/5] Introduce a flag to control devirtualization


Hi,

On Wed, Dec 15, 2010 at 07:13:39PM +0100, Ralf Wildenhues wrote:
> * Martin Jambor wrote on Wed, Dec 15, 2010 at 05:49:06PM CET:
> > 	* 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.
> 
> > --- icln.orig/gcc/doc/invoke.texi
> > +++ icln/gcc/doc/invoke.texi
> 
> > @@ -6420,6 +6421,14 @@ Otherwise it is enabled at all levels: @
> >  @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 inteprocedurally as part of
> 
> interprocedurally
> 
> > +indirect inlining (@code{-findirect-inlining}) and inteprocedural copy
> 
> interprocedural

... and constant propagation, not copy propagation.

Thanks, I must have forgotten to switch on my spell checker.  All of
the above is corrected in my version of the patch now.

Martin

> 
> > +propagation (@option{-fipa-cp}).
> > +Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
> 
> Cheers,
> Ralf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]