re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator[], at vec.h:714)

gcc/

	PR ipa/66566
	* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
	edge summary is available.

gcc/testsuite/

	PR ipa/66566
	* gcc.target/i386/mpx/pr66566.c: New test.

From-SVN: r226155
This commit is contained in:
Ilya Enkovich 2015-07-24 13:15:49 +00:00 committed by Ilya Enkovich
parent 803835ded7
commit 349e312b4c
4 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (struct dt_node): Add statistic fields.

View File

@ -3109,6 +3109,9 @@ estimate_calls_size_and_time (struct cgraph_node *node, int *size,
struct cgraph_edge *e;
for (e = node->callees; e; e = e->next_callee)
{
if (inline_edge_summary_vec.length () <= (unsigned) e->uid)
continue;
struct inline_edge_summary *es = inline_edge_summary (e);
/* Do not care about zero sized builtins. */
@ -3140,6 +3143,9 @@ estimate_calls_size_and_time (struct cgraph_node *node, int *size,
}
for (e = node->indirect_calls; e; e = e->next_callee)
{
if (inline_edge_summary_vec.length () <= (unsigned) e->uid)
continue;
struct inline_edge_summary *es = inline_edge_summary (e);
if (!es->predicate
|| evaluate_predicate (es->predicate, possible_truths))

View File

@ -1,3 +1,8 @@
2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.
2015-07-24 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/66978

View File

@ -0,0 +1,12 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fcheck-pointer-bounds -mmpx" } */
union jsval_layout
{
void *asPtr;
};
union jsval_layout a;
union jsval_layout b;
union jsval_layout __inline__ fn1() { return b; }
void fn2() { a = fn1(); }