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]

Re: Local update flow info assumes valid situations are illegal


On Jan  4, 2001, Richard Henderson <rth@redhat.com> wrote:

> On Thu, Jan 04, 2001 at 10:48:18PM -0200, Alexandre Oliva wrote:

>> Now, this is a relatively old branch, so if forcing the frame pointer
>> to be live throughout the function is something new, maybe it's just
>> missing from the branch.  Could this be the case?

> Yes.  See calculate_global_regs_live.

Thanks, that fixed it.  Patch withdrawn.

I wonder whether we should have some machine-dependent macro to list
registers that should be marked as live everywhere.

Matt's testcase is for SH, and it is another case of a hardware
register that is conceptually live everywhere (fpscr).  The
work-around that is already in place for SH4, but not for SH3e or
SH4-single-only, is to mark the register as EPILOGUE_USES, but I think
a similar situation as the one just fixed, could turn fpscr from live
to dead in the beginning of a block, if the insn that used fpscr had
been eliminated.

What do you think of my introducing FORCE_LIVE_BEFORE_RELOAD and
FORCE_LIVE_AFTER_RELOAD?

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me

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