aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-icf.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-01-18 18:42:11 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-01-18 17:42:11 +0000
commitb16650ac472b03123a7190c84d6c75daf8a6557c (patch)
tree8adefaf359f0ba900559f677e0e56f23f125b6f0 /gcc/ipa-icf.c
parent33c3b6be4d07de8f633a58b48d2e602586c1ad07 (diff)
downloadgcc-b16650ac472b03123a7190c84d6c75daf8a6557c.zip
gcc-b16650ac472b03123a7190c84d6c75daf8a6557c.tar.gz
gcc-b16650ac472b03123a7190c84d6c75daf8a6557c.tar.bz2
ipa-icf-32.c: Update template.
* gcc.dg/ipa/ipa-icf-32.c: Update template. * c-c++-common/asan/instrument-with-calls-3.c: Likewise. * c-c++-common/asan/instrument-with-calls-2.c: Likewise. * c-c++-common/asan/instrument-with-calls-1.c: Likewise. * c-c++-common/asan/kasan-recover-1.c: Likewise. * c-c++-common/asan/kasan-recover-2.c: Likewise. * ipa-reference.c (set_reference_optimization_summary, ipa_reference_get_not_written_global): Do nothing if ipa-reference is disabled. (ignore_module_statics): New static var. (propagate_bits): If ipa-reference is disabled, do not look into local properties. (analyze_function): Disable analysis when ipa_reference is disabled. (generate_summary): Do not dump when reference is disabled; collect vars accessed from functions with ipa-reference disabled. (get_read_write_all_from_node): When ipa-reference is disabled, use the node flags. (gate): Enable for LTO. (ignore_edge_p): New function. (propagate): Skip functions w/o ipa-reference analysis. * optc-save-gen.awk: Handle optimize_debug correctly. * opth-gen.awk: Likewise. * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse, fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region, fira-share-save-slots, fira-share-spill-slots, fmodulo-sched-allow-regmoves, fpartial-inlining, sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow, ftracer, ftree-parallelize-loops, fassociative-math, freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as Optimization (fauto-profile, fcommon, fdata-sections, fipa-icf-variables, ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as Optimization. * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items): Fix for IPA. From-SVN: r219823
Diffstat (limited to 'gcc/ipa-icf.c')
-rw-r--r--gcc/ipa-icf.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index bbd5724..0ac01a9 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -1652,7 +1652,8 @@ sem_item_optimizer::filter_removed_items (void)
{
sem_item *item = m_items[i];
- if (!flag_ipa_icf_functions && item->type == FUNC)
+ if (item->type == FUNC
+ && !opt_for_fn (item->decl, flag_ipa_icf_functions))
{
remove_item (item);
continue;
@@ -2499,7 +2500,7 @@ public:
/* opt_pass methods: */
virtual bool gate (function *)
{
- return flag_ipa_icf_variables || flag_ipa_icf_functions;
+ return in_lto_p || flag_ipa_icf_variables || flag_ipa_icf_functions;
}
virtual unsigned int execute (function *)