ia64 bootstrap failure with the reload-branch

Bernd Schmidt bernds_cb1@t-online.de
Thu Apr 7 11:34:00 GMT 2005


(slowly catching up with vacation backlog)

James E Wilson wrote:

> Reload is using registers without setting regs_ever_live.  The IA-64 
> prologue code needs a temp register to save/restore b0, and it uses 
> regs_ever_live to find one.  Also, because we have variable size 
> register windows, we need the regs_ever_live info to be accurate so we 
> can set up the register windows properly.
> 
> The problem happens in inherit_one_chain, but it looks like there are 
> other similar places that may have the same problem.  Ugly patch 
> attached that gets me past this problem.  We should probably get Bernd's 
> opinion on how he thinks this should be fixed.

Thanks for debugging this.  The patch isn't quite right, because setting 
additional bits in regs_ever_live may need to cause additional 
iterations of calculate_needs_all_insns.

Try the patch below - does it fix the problem?


Bernd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: everlive.diff
Type: text/x-patch
Size: 2659 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20050407/741f17bc/attachment.bin>


More information about the Gcc mailing list