aboutsummaryrefslogtreecommitdiff
path: root/gcc/df-problems.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2011-06-15 10:23:28 -0600
committerJeff Law <law@gcc.gnu.org>2011-06-15 10:23:28 -0600
commit2098e43871b59e4b5da754392df2af416e4e899d (patch)
tree3b1416171706f88657f5e6d513ae9c2185cbfc7d /gcc/df-problems.c
parent6beec6813aa23a06f56ba73b7fbfafe2e2662c26 (diff)
downloadgcc-2098e43871b59e4b5da754392df2af416e4e899d.zip
gcc-2098e43871b59e4b5da754392df2af416e4e899d.tar.gz
gcc-2098e43871b59e4b5da754392df2af416e4e899d.tar.bz2
df-problems.c (df_lr_local_compute): Manually CSE PIC_OFFSET_TABLE_REGNUM.
* df-problems.c (df_lr_local_compute): Manually CSE PIC_OFFSET_TABLE_REGNUM. * df-scan.c (df_get_regular_block_artificial_uses): Likewise. (df_get_entry_block_def_set, df_get_exit_block_use_set): Likewise. From-SVN: r175081
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r--gcc/df-problems.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index e5b88e3..59bed8b 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -906,6 +906,7 @@ df_lr_local_compute (bitmap all_blocks ATTRIBUTE_UNUSED)
blocks within infinite loops. */
if (!reload_completed)
{
+ unsigned int pic_offset_table_regnum = PIC_OFFSET_TABLE_REGNUM;
/* Any reference to any pseudo before reload is a potential
reference of the frame pointer. */
bitmap_set_bit (&df->hardware_regs_used, FRAME_POINTER_REGNUM);
@@ -919,9 +920,9 @@ df_lr_local_compute (bitmap all_blocks ATTRIBUTE_UNUSED)
/* Any constant, or pseudo with constant equivalences, may
require reloading from memory using the pic register. */
- if ((unsigned) PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM
- && fixed_regs[PIC_OFFSET_TABLE_REGNUM])
- bitmap_set_bit (&df->hardware_regs_used, PIC_OFFSET_TABLE_REGNUM);
+ if (pic_offset_table_regnum != INVALID_REGNUM
+ && fixed_regs[pic_offset_table_regnum])
+ bitmap_set_bit (&df->hardware_regs_used, pic_offset_table_regnum);
}
EXECUTE_IF_SET_IN_BITMAP (df_lr->out_of_date_transfer_functions, 0, bb_index, bi)