On 10/04/13 22:23, Jan Hubicka wrote:
On Fri, Oct 4, 2013 at 11:54 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
I looked at this problem. Bug updated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58619
This is a bug when updating block during tree-inline. Basically, it is
legal for *n to be NULL. E.g. When gimple_block(id->gimple_call) is
NULL, remap_blocks_to_null will be called to set *n to NULL.
The NULL in gimple_block (gimple_call) comes from the call introduced by
ipa-split?
That is correct.
I remember that ipa-split used to try to put the call into block since we was
ICEing
in similar ways previously, too. Perhaps this has changed with new BLOCK
representation?
The new BLOCK representation does not change this. I think it makes
sense to leave the block of newly introduced call_stmt as NULL because
when it's inlined back, we don't want to add additional block layers.
You are right, it may be result of Jakub's changes in the area (to improve
debug info
after inlining back). I guess the patch makes sense then.
It at-least fixes the issues I've been seeing on
arm-none-linux-gnueabihf. The build has atleast gone past that point and
I should have some test results later today.
I don't know enough in that area to comment further on the technical
aspects of the patch but it doesn't look outrageous from my point of view .
Can someone comment / approve it quickly so that we get AArch32 and
AArch64 linux cross-builds back up ?
regards
Ramana
Honza
Dehao
Honza