aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-scan.c
diff options
context:
space:
mode:
authorams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-20 11:14:38 +0000
committerams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-20 11:14:38 +0000
commit260e669e8b6e2b6c3b9c422a617e0e8e1f873cc0 (patch)
tree2d9f05dc440f7a83a7c9010772e45442652c54fa /gcc/df-scan.c
parentd2e2a8963b73d654ef7f219472c47791f8d42136 (diff)
2010-08-20 Joseph Myers <joseph@codesourcery.com>
gcc/ * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to be zero or nonzero. * doc/tm.texi: Regenerate. * defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define. * df-scan.c (df_get_exit_block_use_set), reginfo.c (init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p): Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics. * config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r--gcc/df-scan.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index b4633abfb10..8b17ae29488 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -4032,14 +4032,13 @@ df_get_exit_block_use_set (bitmap exit_block_uses)
#endif
}
-#ifndef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED
/* Many architectures have a GP register even without flag_pic.
Assume the pic register is not in use, or will be handled by
other means, if it is not fixed. */
- if ((unsigned) PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
+ if (!PIC_OFFSET_TABLE_REG_CALL_CLOBBERED
+ && (unsigned) PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
&& fixed_regs[PIC_OFFSET_TABLE_REGNUM])
bitmap_set_bit (exit_block_uses, PIC_OFFSET_TABLE_REGNUM);
-#endif
/* Mark all global registers, and all registers used by the
epilogue as being live at the end of the function since they