Hi,
this patch fixes ICE seen when compiling firefox with large unit growths.
The problem is that the speculative part of analysis trips over VOID pointer
and gets lost.
Bootstrapped/regtsted x86_64-linux, commited.
* ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
on getting VOID pointer.
Index: ipa-polymorphic-call.c
===================================================================
--- ipa-polymorphic-call.c (revision 220509)
+++ ipa-polymorphic-call.c (working copy)
@@ -1078,7 +1078,7 @@ ipa_polymorphic_call_context::ipa_polymo
base_type = TREE_TYPE (gimple_assign_rhs1
(SSA_NAME_DEF_STMT (base_pointer)));
- if (POINTER_TYPE_P (base_type))
+ if (base_type && POINTER_TYPE_P (base_type))
combine_speculation_with (TYPE_MAIN_VARIANT (TREE_TYPE (base_type)),
offset,
true, NULL /* Do not change type here */);