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

Reply via email to