From 6da47f52a733f5462368fb0cc045a0e3196609be Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 6 Sep 2013 12:33:48 +0200 Subject: [PATCH] re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize) PR tree-optimization/58311 * ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing. From-SVN: r202317 --- gcc/ChangeLog | 13 +++++++++++++ gcc/ipa-devirt.c | 4 +--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a2a68229650..26ef058386d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2013-09-06 Jan Hubicka + + PR tree-optimization/58311 + * ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing. + +2013-09-06 Jan Hubicka + + * Makefile.in (tree-sra.o): Update dependencies. + * tree-sra.c: Include ipa-utils.h + (scan_function): Use recursive_call_p. + (has_caller_p): New function. + (cgraph_for_node_and_aliases): Count also callers of aliases. + 2013-09-06 Jan Hubicka PR middle-end/58094 diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index 537fbda7682..2a50284c9b6 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -1114,9 +1114,7 @@ ipa_devirt (void) static bool gate_ipa_devirt (void) { - /* FIXME: We should remove the optimize check after we ensure we never run - IPA passes when not optimizing. */ - return flag_devirtualize && !in_lto_p; + return flag_devirtualize && !in_lto_p && optimize; } namespace { -- 2.30.2