User account creation filtered due to spam.

Bug 81360 - [8 Regression] ice in estimate_edge_growth, at ipa-inline.h:86
Summary: [8 Regression] ice in estimate_edge_growth, at ipa-inline.h:86
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: ipa (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2017-07-08 11:23 UTC by David Binderman
Modified: 2017-07-10 07:55 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2017-07-10 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Binderman 2017-07-08 11:23:24 UTC
The following reduced code, with recent trunk gcc and compiler flag -O2,
does this:

bug366.c:10:1: internal compiler error: in estimate_edge_growth, at ipa-inline.h:86
 }
 ^
0x9e5aa3 estimate_edge_growth
	../../trunk/gcc/ipa-inline.h:85
0x9e5aa3 estimate_size_after_inlining(cgraph_node*, cgraph_edge*)
	../../trunk/gcc/ipa-inline-analysis.c:300
0x14c33e1 caller_growth_limits
	../../trunk/gcc/ipa-inline.c:186
0x14c33e1 can_inline_edge_p
	../../trunk/gcc/ipa-inline.c:383

Reduced code is

typedef a;
b(void *c, a d) {
  if (c)
    e(0, __PRETTY_FUNCTION__);
}
typedef f, g;
__attribute__((optimize(0))) h() {
  g i;
  b(i, sizeof(f));
}

I'll have a go at finding out which revision caused the problem,
but at the moment, it looks like sometime after gcc revision 249539.
Comment 1 David Binderman 2017-07-08 11:41:38 UTC
Problem seems to appear between revisions 250047 and 250073.

Wild guess, but hubicka, at revision 250048, was the last person
to modify source code file gcc/ipa-inline-analysis.c.
Comment 2 Martin Liška 2017-07-10 07:55:53 UTC
Confirmed, started with r250048.