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]

Re: An idea to improve reload


Me:
> As a further bonus, we would then avoid spilling pseudos that are used in
> the insn itself, while we can use their hard registers at times that they
> are not used (e.g. an input that dies allows the hard reg to be used for
> an output reload, unless that's prevented by some other use of the hard reg).

Further thought revealed that sometimes even such pseudos must be spilled -
if they are in a hard register of a relatively small register class, and
that register is urgently needed for a reload.
So there needs to be a way to tell if a hard register started out as hard
register or if it is an allocated pseudo that we could spill.
I am thinking of hijacking the 'used' flag, which according to rtl.texi
is only used in leaf_renumber_regs_insn for regs so far.  This flag
can be summarily set in pseudo registers, and then cleared at the end
of reload.


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