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 09:34:15PM -0200, Alexandre Oliva wrote:
>> Why not?  The bb (and the function) ended with a call to a noreturn
>> function.  The reg_set at the end of the bb was empty.  There was no
>> use of the frame pointer remaining.  So why isn't it dead?

> Because the frame pointer is live throughout the entire function 
> before reload.  This is because every pseudo is a potential
> reference to the frame pointer if it is spilled to the stack.

What if there are no remaining pseudos?

The remaining insns, after combine, are:

(set (reg:SI 0) (const_int 0))
(call (mem:SI (symbol_ref:SI "bar")) 0)
(use (const_int 0))
(barrier)


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?

-- 
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]