This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Two questions on register allocation & reload.
- From: "Alexander Monakov" <amonakov at ispras dot ru>
- To: "gcc.gcc.gnu.org" <gcc at gcc dot gnu dot org>
- Cc: "Vladimir N. Makarov" <vmakarov at redhat dot com>, "Maxim Kuvyrkov" <maxim at codesourcery dot com>
- Date: Tue, 13 Nov 2007 22:02:44 +0300
- Subject: Two questions on register allocation & reload.
Hi.
I have two questions related to register allocation and reload area.
1. Is there a way to distinguish memory accesses introduced during
register allocation (register spills and fills) from "regular" ones? Or,
alternatively, is augmenting reload & friends to use specific instructions
to perform spill&fill possible? I'm asking because on ia64 one must use
special instructions to read/write registers that originate from
control-speculative load (in case speculation was unsuccessful, such
registers will have an attribute, called NaT bit, set, and it must be
saved and restored properly when such register is spilled), so currently
GCC cannot perform control speculation before register allocation on ia64.
2. Is there a way to ask register allocator to allocate same hard regs for
given pseudo in given pair of insns? I assume the answer is 'no', but
just in case :) Again, this is needed to support data speculation before
register allocation: register that is speculatively loaded must be same
for speculative load and check.
Thanks.
Alexander Monakov