Commit 7c9ac5c0 by Pat Haugen Committed by David Edelsohn

rs6000.c (rs6000_conditional_register_usage): Clear call_realy_used_regs[r2] when ABI_AIX.

2005-06-03  Pat Haugen  <pthaugen@us.ibm.com>

        * config/rs6000/rs6000.c (rs6000_conditional_register_usage):
        Clear call_realy_used_regs[r2] when ABI_AIX.

From-SVN: r100549
parent 4fd20a8f
2005-06-03 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
Clear call_realy_used_regs[r2] when ABI_AIX.
2005-06-03 Richard Guenther <rguenth@gcc.gnu.org> 2005-06-03 Richard Guenther <rguenth@gcc.gnu.org>
PR middle-end/21858 PR middle-end/21858
......
...@@ -3287,7 +3287,7 @@ rs6000_conditional_register_usage (void) ...@@ -3287,7 +3287,7 @@ rs6000_conditional_register_usage (void)
if (! TARGET_POWER) if (! TARGET_POWER)
fixed_regs[64] = 1; fixed_regs[64] = 1;
/* 64-bit AIX reserves GPR13 for thread-private data. */ /* 64-bit AIX and Linux reserve GPR13 for thread-private data. */
if (TARGET_64BIT) if (TARGET_64BIT)
fixed_regs[13] = call_used_regs[13] fixed_regs[13] = call_used_regs[13]
= call_really_used_regs[13] = 1; = call_really_used_regs[13] = 1;
...@@ -3298,6 +3298,11 @@ rs6000_conditional_register_usage (void) ...@@ -3298,6 +3298,11 @@ rs6000_conditional_register_usage (void)
fixed_regs[i] = call_used_regs[i] fixed_regs[i] = call_used_regs[i]
= call_really_used_regs[i] = 1; = call_really_used_regs[i] = 1;
/* The TOC register is not killed across calls in a way that is
visible to the compiler. */
if (DEFAULT_ABI == ABI_AIX)
call_really_used_regs[2] = 0;
if (DEFAULT_ABI == ABI_V4 if (DEFAULT_ABI == ABI_V4
&& PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM && PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
&& flag_pic == 2) && flag_pic == 2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment