WHOPR partitioning, take 2

Jan Hubicka hubicka@ucw.cz
Tue Oct 5 15:03:00 GMT 2010


> > 
> > 	* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
> > 	Document.
> > 	* opts.c (decode_options): Handle lto partitions.
> > 	* common.opt (flto-partition): New.
> 
> Shouldn't it be -fwhopr-partition, whopr-partitions and
> whopr-minpartition?  I think it will have no effect for -flto, no?

Ah, I plan to bundle -fwhopr as -flto for a while, leaving -flto=0 or similar
option to explicitely disable whopr.  This should make things less confusing for
users - they really don't need to know the difference of lto and whopr.
This is why I called it lto-partition, but I can definitely call it
whopr-partition and rename later once we are ready for the switch (I think we
are, we just need to discuss proper defaults).
> 
> The common.opt and opts.c changelog part is out-of-date.  I'm not sure
> the way you now handle them in common.opt makes sense.  For one
> -flto-partition=xyz will just tell you that's an unknown option,
> not that it is an unknown partitioning algorithm, for another
> no other options are specified that way.  Wouldn't it make more
> sense to get a string argument instead?

Perhaps, I copied here what -Wsuggest-attribute does.

Honza
> 
> Joseph, any input here?
> 
> > 	* params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
> >
> > 	* lto.c:  Include params.h.
> > 	(add_cgraph_node_to_partition, add_varpool_node_to_partition): Do
> > 	refcounting in aux field.
> > 	(undo_partition, partition_cgraph_node_p, partition_varpool_node_p):
> > 	New functions.
> > 	(lto_1_to_1_map): Simplify.
> > 	(lto_balanced_map): New function.
> > 	(do_whole_program_analysis): Chose proper partitioning alg.
> > 	* Makefile.in (lto.o): Add dependency on params.h
> 
> Make-lang.in
> 
> Thanks,
> Richard.



More information about the Gcc-patches mailing list