diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2015-05-22 01:03:59 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2015-05-22 01:03:59 +0000 |
commit | 3f393fc679e504e451bbe07cbc15bc013a5700f5 (patch) | |
tree | eeffb3dfef0cb771b4761d7ae5cd0cbbbf91998d /gcc/df-scan.c | |
parent | dfed69615791ca818d1286ea3e8fe3758c59d7bb (diff) | |
download | gcc-3f393fc679e504e451bbe07cbc15bc013a5700f5.zip gcc-3f393fc679e504e451bbe07cbc15bc013a5700f5.tar.gz gcc-3f393fc679e504e451bbe07cbc15bc013a5700f5.tar.bz2 |
don't compare ARG_FRAME_POINTER_REGNUM and FRAME_POINTER_REGNUM with the preprocessor
gcc/ChangeLog:
2015-05-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
and FRAME_POINTER_REGNUM with the preprocessor.
From-SVN: r223516
Diffstat (limited to 'gcc/df-scan.c')
-rw-r--r-- | gcc/df-scan.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/gcc/df-scan.c b/gcc/df-scan.c index c831730..e32eaf5 100644 --- a/gcc/df-scan.c +++ b/gcc/df-scan.c @@ -3446,12 +3446,11 @@ df_get_regular_block_artificial_uses (bitmap regular_block_artificial_uses) bitmap_set_bit (regular_block_artificial_uses, HARD_FRAME_POINTER_REGNUM); -#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM /* Pseudos with argument area equivalences may require reloading via the argument pointer. */ - if (fixed_regs[ARG_POINTER_REGNUM]) + if (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM + && fixed_regs[ARG_POINTER_REGNUM]) bitmap_set_bit (regular_block_artificial_uses, ARG_POINTER_REGNUM); -#endif /* Any constant, or pseudo with constant equivalences, may require reloading from memory using the pic register. */ @@ -3498,10 +3497,9 @@ df_get_eh_block_artificial_uses (bitmap eh_block_artificial_uses) bitmap_set_bit (eh_block_artificial_uses, HARD_FRAME_POINTER_REGNUM); } -#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM - if (fixed_regs[ARG_POINTER_REGNUM]) + if (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM + && fixed_regs[ARG_POINTER_REGNUM]) bitmap_set_bit (eh_block_artificial_uses, ARG_POINTER_REGNUM); -#endif } } @@ -3579,12 +3577,11 @@ df_get_entry_block_def_set (bitmap entry_block_defs) /* These registers are live everywhere. */ if (!reload_completed) { -#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM /* Pseudos with argument area equivalences may require reloading via the argument pointer. */ - if (fixed_regs[ARG_POINTER_REGNUM]) + if (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM + && fixed_regs[ARG_POINTER_REGNUM]) bitmap_set_bit (entry_block_defs, ARG_POINTER_REGNUM); -#endif /* Any constant, or pseudo with constant equivalences, may require reloading from memory using the pic register. */ @@ -3781,16 +3778,15 @@ df_exit_block_uses_collect (struct df_collection_rec *collection_rec, bitmap exi df_ref_record (DF_REF_ARTIFICIAL, collection_rec, regno_reg_rtx[i], NULL, EXIT_BLOCK_PTR_FOR_FN (cfun), NULL, DF_REF_REG_USE, 0); -#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM /* It is deliberate that this is not put in the exit block uses but I do not know why. */ - if (reload_completed + if (FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM + && reload_completed && !bitmap_bit_p (exit_block_uses, ARG_POINTER_REGNUM) && bb_has_eh_pred (EXIT_BLOCK_PTR_FOR_FN (cfun)) && fixed_regs[ARG_POINTER_REGNUM]) df_ref_record (DF_REF_ARTIFICIAL, collection_rec, regno_reg_rtx[ARG_POINTER_REGNUM], NULL, EXIT_BLOCK_PTR_FOR_FN (cfun), NULL, DF_REF_REG_USE, 0); -#endif df_canonize_collection_rec (collection_rec); } |