diff mbox

[CHKP,always_inline,2/2] Fix segafult in SRA

Message ID 20150116110944.GC55666@msticlxl57.ims.intel.com
State New
Headers show

Commit Message

Ilya Enkovich Jan. 16, 2015, 11:09 a.m. UTC
Hi,

In early SRA some_callers_have_mismatched_arguments_p function is called for function, all its thunks and aliases, but actually cannot handle function with thunks because assumes call_stmt for call_edge is not NULL.  This patch rejects functions with thunks instead of ICE.

Bootstrapped and checked on x86_64-unknown-linux-gnu.  Fixes faults revealed by the first patch in the series.  OK for trunk?

Thanks,
Ilya
--
2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>

	* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
	callers.

Comments

Jeff Law Jan. 16, 2015, 4:59 p.m. UTC | #1
On 01/16/15 04:09, Ilya Enkovich wrote:
> Hi,
>
> In early SRA some_callers_have_mismatched_arguments_p function is called for function, all its thunks and aliases, but actually cannot handle function with thunks because assumes call_stmt for call_edge is not NULL.  This patch rejects functions with thunks instead of ICE.
>
> Bootstrapped and checked on x86_64-unknown-linux-gnu.  Fixes faults revealed by the first patch in the series.  OK for trunk?
>
> Thanks,
> Ilya
> --
> 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
>
> 	* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
> 	callers.
OK.
jeff
diff mbox

Patch

diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f560fe0..f6a3acd 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -4873,7 +4873,7 @@  some_callers_have_mismatched_arguments_p (struct cgraph_node *node,
 {
   struct cgraph_edge *cs;
   for (cs = node->callers; cs; cs = cs->next_caller)
-    if (!callsite_arguments_match_p (cs->call_stmt))
+    if (!cs->call_stmt || !callsite_arguments_match_p (cs->call_stmt))
       return true;
 
   return false;