[Bug middle-end/57748] [4.8/4.9 Regression] ICE on ARM with -mfloat-abi=softfp -mfpu=neon
jamborm at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 26 16:47:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57748
--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> ---
So I only got to this and I definitely won't be able to finish it
today or even this week but here is what I have figured out so far.
We ICE when expanding statement
MEM[(struct resolved_chain *)_19].ips[j_22].ip = _21;
before my patch, that statement was not there, instead we had
filtered_7->ips[j_22].ip = D.11868_21;
which copyprop2 replaces to the above form with my patch. I have not
looked at why. The difference is subtle, _19 is a void pointer. I
have not looked at why this transformation took place, however, I had
the MEM_REF tree dumped and stared at it for a while and see nothing
wrong with it.
As the code progresses through expand_assignment, offset as filled in
get_inner_reference is the same, however get_object_alignment (tem)
used to return 64, and now only returns 32 which then pushes us the
wrong path which does not handle this case. So now I guess I should
figure out why get_object_alignment thinks the alignment is so
small...
More information about the Gcc-bugs
mailing list