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



Reply via email to