aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-icf.c
diff options
context:
space:
mode:
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 *)