aboutsummaryrefslogtreecommitdiff
path: root/gcc/bt-load.c
diff options
context:
space:
mode:
authorBernd Schmidt <bschmidt@redhat.com>2016-01-07 12:15:59 +0000
committerBernd Schmidt <bschmidt@redhat.com>2016-01-07 12:15:59 +0000
commit11acdb27cf81b6116ec151a158bc63907b236e0b (patch)
tree3740a6b368f1e5adadfb39ebd2609b3dafbe3e9b /gcc/bt-load.c
parent50aaddd61558f2b6a1f4cc4ad98296d978a64e79 (diff)
Fix a minor issue found by a static analyzer (PR66206).
PR rtl-optimization/66206 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx. All callers changed. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232124 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/bt-load.c')
-rw-r--r--gcc/bt-load.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/gcc/bt-load.c b/gcc/bt-load.c
index e79e64f09d0..aa02f6436e4 100644
--- a/gcc/bt-load.c
+++ b/gcc/bt-load.c
@@ -1,4 +1,3 @@
-
/* Perform branch target register load optimizations.
Copyright (C) 2001-2016 Free Software Foundation, Inc.
@@ -188,14 +187,14 @@ basic_block_freq (const_basic_block bb)
return bb->frequency;
}
-/* If X references (sets or reads) any branch target register, return one
- such register. If EXCLUDEP is set, disregard any references within
- that location. */
+/* If the rtx at *XP references (sets or reads) any branch target
+ register, return one such register. If EXCLUDEP is set, disregard
+ any references within that location. */
static rtx *
-find_btr_use (rtx x, rtx *excludep = 0)
+find_btr_use (rtx *xp, rtx *excludep = 0)
{
subrtx_ptr_iterator::array_type array;
- FOR_EACH_SUBRTX_PTR (iter, array, &x, NONCONST)
+ FOR_EACH_SUBRTX_PTR (iter, array, xp, NONCONST)
{
rtx *loc = *iter;
if (loc == excludep)
@@ -232,7 +231,7 @@ insn_sets_btr_p (const rtx_insn *insn, int check_const, int *regno)
if (REG_P (dest)
&& TEST_HARD_REG_BIT (all_btrs, REGNO (dest)))
{
- gcc_assert (!find_btr_use (src));
+ gcc_assert (!find_btr_use (&src));
if (!check_const || CONSTANT_P (src))
{
@@ -324,7 +323,7 @@ new_btr_user (basic_block bb, int insn_luid, rtx_insn *insn)
to decide whether we can replace all target register
uses easily.
*/
- rtx *usep = find_btr_use (PATTERN (insn));
+ rtx *usep = find_btr_use (&PATTERN (insn));
rtx use;
btr_user *user = NULL;
@@ -335,7 +334,7 @@ new_btr_user (basic_block bb, int insn_luid, rtx_insn *insn)
/* We want to ensure that USE is the only use of a target
register in INSN, so that we know that to rewrite INSN to use
a different target register, all we have to do is replace USE. */
- unambiguous_single_use = !find_btr_use (PATTERN (insn), usep);
+ unambiguous_single_use = !find_btr_use (&PATTERN (insn), usep);
if (!unambiguous_single_use)
usep = NULL;
}
@@ -511,7 +510,7 @@ compute_defs_uses_and_gen (btr_heap_t *all_btr_defs, btr_def **def_array,
}
else
{
- if (find_btr_use (PATTERN (insn)))
+ if (find_btr_use (&PATTERN (insn)))
{
btr_user *user = new_btr_user (bb, insn_luid, insn);