This is the mail archive of the gcc-patches@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]

Re: [PATCH]: Handle lonely CC0 setter in sched-deps.c



While testing scheduling for ColdFire/m68k I noted ICE in sched-deps.c. The cause was that scheduler dependency analyzer couldn't handle CC0-user instruction, that didn't have CC0-setter before the user.

The origin of this, somewhat strange, case is seqabstr pass, that unified code for setting CC0 from several blocks into a pseudo-routine. So now code in the pseudo-routine sets CC0 and then jumps back to CC0-user.

The fix is to not break the CC0 setter and user in seqabstr (which *is* in 4.3 too, but very broken). The fact that setters and users cannot be separated, is one of the reasons why CC0 is deprecated.


Paolo


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