diff options
author | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-22 01:03:59 +0000 |
---|---|---|
committer | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-22 01:03:59 +0000 |
commit | c6bb296a2fcca429823748a066c7797ee1e90b73 (patch) | |
tree | eeffb3dfef0cb771b4761d7ae5cd0cbbbf91998d /gcc/df-scan.c | |
parent | 279a4851abd5932b869b6379b2dcf5e52b068e5e (diff) | |
download | gcc-c6bb296a2fcca429823748a066c7797ee1e90b73.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223516 138bc75d-0d04-0410-961f-82ee72b054a4
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 c831730bc21..e32eaf5f0b1 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); } |