ia64 bootstrap failure with the reload-branch

James E Wilson wilson@specifixinc.com
Fri Apr 1 00:11:00 GMT 2005


Steven Bosscher wrote:
> ../../reload-branch/gcc/unwind.inc:313: error: Attempt to delete prologue/epilogue insn:
> (insn/f 137 136 138 0 ../../reload-branch/gcc/unwind.inc:285 (set (reg:DI 33 r35)
>         (reg:DI 320 b0)) -1 (nil)
>     (nil))

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.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.reload.branch
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20050401/97caa04a/attachment.ksh>


More information about the Gcc mailing list