This is the mail archive of the gcc@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: Question on fixup_abnormal_edges


> 
> Michael Matz wrote:
> > > ;; End of basic block 175, registers live:
> > >  29 [$29] 30 [$30] 31 [AP] 63 [FP]
> > 
> > Ok, no $22 here.  So either the caller-save code should take the current
> > liveness into account before emitting loads/stores around calls (which I'm
> > not sure it is able to, considering non-optimizing compilation) or not

Even in non-optimizing compilication we do have acurate liveness
information now (after stupid regalloc is dead), so this should not be
problem.  The caller save use chain->live_throughout that should contain
proper values.  Unforutnately the code is somewhat messy as reload still
use it's own liveness updating code instead of relying on what live.c
have and there well may be some bug.  Can I see the relevant block in
the .lreg dump?  This should be the final version of liveness info used
by regalloc.

Honza


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