aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-19 16:39:52 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-19 16:39:52 +0000
commitc1286e0b87cad2589a09ae0380d969499c29ce43 (patch)
tree94d0ac625bc92985cbc40fe4a70a2d42ba530966 /gcc
parentb4e8ceb98c4ec844b4886e61363a70e5a2c6b140 (diff)
downloadgcc-c1286e0b87cad2589a09ae0380d969499c29ce43.zip
gcc-c1286e0b87cad2589a09ae0380d969499c29ce43.tar.gz
gcc-c1286e0b87cad2589a09ae0380d969499c29ce43.tar.bz2
BND_TO scaffolding
gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (BND_TO): insn_t will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: BND_TO, returning an rtx_insn *, and... (SET_BND_TO): New function, for use where BND_TO is used as an lvalue. * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to SET_BND_TO. (BND_TO): New function, adding a checked cast. (SET_BND_TO): New function. * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to SET_BND_TO. (compute_av_set_on_boundaries): Likewise. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_BND_TO From-SVN: r214170
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog18
-rw-r--r--gcc/sel-sched-ir.c12
-rw-r--r--gcc/sel-sched-ir.h3
-rw-r--r--gcc/sel-sched.c4
4 files changed, 33 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 01597a4..f3aea7a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,21 @@
+2014-08-19 David Malcolm <dmalcolm@redhat.com>
+
+ * sel-sched-ir.h (BND_TO): insn_t will eventually be an
+ rtx_insn *. To help with transition, for now, convert from an
+ access macro into a pair of functions: BND_TO, returning an
+ rtx_insn *, and...
+ (SET_BND_TO): New function, for use where BND_TO is used as an
+ lvalue.
+
+ * sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to
+ SET_BND_TO.
+ (BND_TO): New function, adding a checked cast.
+ (SET_BND_TO): New function.
+
+ * sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to
+ SET_BND_TO.
+ (compute_av_set_on_boundaries): Likewise.
+
2014-08-19 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 9165649..8e257c5 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -207,7 +207,7 @@ blist_add (blist_t *lp, insn_t to, ilist_t ptr, deps_t dc)
_list_add (lp);
bnd = BLIST_BND (*lp);
- BND_TO (bnd) = to;
+ SET_BND_TO (bnd) = to;
BND_PTR (bnd) = ptr;
BND_AV (bnd) = NULL;
BND_AV1 (bnd) = NULL;
@@ -6463,4 +6463,14 @@ rtx& SET_BB_NOTE_LIST (basic_block bb)
return SEL_REGION_BB_INFO (bb)->note_list;
}
+rtx_insn *BND_TO (bnd_t bnd)
+{
+ return safe_as_a <rtx_insn *> (bnd->to);
+}
+
+insn_t& SET_BND_TO (bnd_t bnd)
+{
+ return bnd->to;
+}
+
#endif
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h
index 81accaf..ab1f42f 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -233,7 +233,8 @@ struct _bnd
deps_t dc;
};
typedef struct _bnd *bnd_t;
-#define BND_TO(B) ((B)->to)
+extern rtx_insn *BND_TO (bnd_t bnd);
+extern insn_t& SET_BND_TO (bnd_t bnd);
/* PTR stands not for pointer as you might think, but as a Path To Root of the
current instruction group from boundary B. */
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 2d9bc81..3248629 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -4954,7 +4954,7 @@ move_cond_jump (rtx insn, bnd_t bnd)
/* Jump is moved to the boundary. */
next = PREV_INSN (insn);
- BND_TO (bnd) = insn;
+ SET_BND_TO (bnd) = insn;
ft_edge = find_fallthru_edge_from (block_from);
block_next = ft_edge->dest;
@@ -5095,7 +5095,7 @@ compute_av_set_on_boundaries (fence_t fence, blist_t bnds, av_set_t *av_vliw_p)
{
gcc_assert (FENCE_INSN (fence) == BND_TO (bnd));
FENCE_INSN (fence) = bnd_to;
- BND_TO (bnd) = bnd_to;
+ SET_BND_TO (bnd) = bnd_to;
}
av_set_clear (&BND_AV (bnd));