aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-10-05 19:57:09 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-10-05 17:57:09 +0000
commit852e4bd21fd96a8f6a455eeeddd73d9e9db39e99 (patch)
tree39fe2253162e98252ee98f361dabaf26193a3d46 /gcc/opts.c
parent5806d9ac5dc72814e806e61773077a263a6fc728 (diff)
downloadgcc-852e4bd21fd96a8f6a455eeeddd73d9e9db39e99.zip
gcc-852e4bd21fd96a8f6a455eeeddd73d9e9db39e99.tar.gz
gcc-852e4bd21fd96a8f6a455eeeddd73d9e9db39e99.tar.bz2
invoke.texi (-flto-partition, [...]): Document.
* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition): Document. * opts.c (decode_options): Handle lto partitions. * common.opt (flto-partition=1to1, flto-partition=balanced): New. * 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. * Make-lang.in (lto.o): Add dependency on params.h From-SVN: r164995
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 0560335..03098b5 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1081,6 +1081,13 @@ decode_options (unsigned int argc, const char **argv,
error ("LTO support has not been enabled in this configuration");
#endif
}
+ if (flag_lto_partition_balanced || flag_lto_partition_1to1)
+ {
+ if (flag_lto_partition_balanced && flag_lto_partition_1to1)
+ error ("Only one -flto-partitoin value can be specified");
+ if (!flag_whopr)
+ error ("-flto-partitoin has effect only with -fwhopr");
+ }
/* Reconcile -flto and -fwhopr. Set additional flags as appropriate and
check option consistency. */