This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/55686] [4.8 Regression] ICE in assign_by_spills, at lra-assigns.c:1244


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55686

--- Comment #10 from Jan Hubicka <hubicka at ucw dot cz> 2012-12-21 13:48:19 UTC ---
> Honza, any thoughts on this (both the combine vs. strset and local register
> vars vs. string insns)?

Well, Steven's suggestion to track local explicit reg vars in seems resonable,
it
probably could go to crtl and be set at expansion time. We probably could have
locally_fixed_regs regset that contains fixed_regs + the local registers vars?

To be honest I am not exactly sure what has_local_explicit_reg_vars code is
shooting
for. Especially because it seems to be used only in rather rare case of store
sink
so it may be better to simply determine it locally rather than having in cfun.

The strset patterns was really intended for memcpy/memset expansion where we
need
to have stuff in proper registers anyway.  Random matching seems bad idea
indeed.
I would go with the unspec way.

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]