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: new register allocator and HARD_REGNO_CALL_PART_CLOBBERED


On May 15, 2003, Daniel Berlin <dberlin@dberlin.org> wrote:

> You keep using "pollute" like the info shouldn't be there.

I use pollute because I was thinking clobbers in a parallel to a call,
like some patterns I've seen floating around.  The way it should
probably be done is to have reg notes or call insn usage or something
that points at a data structure defining the clobbered set of that
call instruction.  However, since most of the times the calling
conventions are going to be whatever the platform's ABI says, no more
and no less, there's no sense in creating additional rtx and adding to
every call insn: we just look at the targetm data structure or
something and use the default clobber set.

Partial saves added a new twist that rth and I hadn't considered when
we talked about this feature and came up with the design above a few
days ago.  Presumably we could have per-mode bitsets as well (or
instead of) absolute saved/clobbered definitions added to the
call insn clobbered data structure.

None of this, however, changes the fact that the feature has to be
supported by the register allocator, which is what I understand we
were debating in this thread.  The exact way to represent the ABI
requirements is secondary, and the design is definitely open for
discussion.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


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