aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-06 12:33:48 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-06 10:33:48 +0000
commit6da47f52a733f5462368fb0cc045a0e3196609be (patch)
tree7224f25a0612cc9a66c043d96249974250490ae7
parentfc11f321bbffb92287ee4f25aa70eab40f66a163 (diff)
downloadgcc-6da47f52a733f5462368fb0cc045a0e3196609be.zip
gcc-6da47f52a733f5462368fb0cc045a0e3196609be.tar.gz
gcc-6da47f52a733f5462368fb0cc045a0e3196609be.tar.bz2
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
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/ipa-devirt.c4
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a2a6822..26ef058 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,18 @@
2013-09-06 Jan Hubicka <jh@suse.cz>
+ PR tree-optimization/58311
+ * ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.
+
+2013-09-06 Jan Hubicka <jh@suse.cz>
+
+ * 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 <jh@suse.cz>
+
PR middle-end/58094
* cgraph.h (symtab_semantically_equivalent_p): Declare.
* tree-tailcall.c: Include ipa-utils.h.
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 537fbda..2a50284 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 {