From: David Malcolm <dmalcolm@redhat.com>
To: gcc-patches@gcc.gnu.org
Cc: David Malcolm <dmalcolm@redhat.com>
Subject: [PATCH 173/236] insn_t becomes an rtx_insn *
Date: Wed, 06 Aug 2014 18:05:00 -0000 [thread overview]
Message-ID: <1407345815-14551-174-git-send-email-dmalcolm@redhat.com> (raw)
In-Reply-To: <1407345815-14551-1-git-send-email-dmalcolm@redhat.com>
gcc/
* sel-sched-ir.h (insn_t): Strengthen from rtx to rtx_insn *.
(BND_TO): Delete this function and...
(SET_BND_TO): ...this functions in favor of...
(BND_TO): ...reinstating this macro.
(struct _fence): Strengthen field "executing_insns" from
vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *. Strengthen fields
"last_scheduled_insn" and "sched_next" from rtx to rtx_insn *.
(_succ_iter_cond): Update param "succp" from rtx * to insn_t *
and param "insn" from rtx to insn_t.
(create_vinsn_from_insn_rtx): Strengthen first param from rtx to
rtx_insn *.
* sched-int.h (insn_vec_t): Strengthen from vec<rtx> to
vec<rtx_insn *> .
(rtx_vec_t): Likewise.
(struct sched_deps_info_def): Strengthen param of "start_insn"
callback from rtx to rtx_insn *. Likewise for param "insn2" of
"note_mem_dep" callback and first param of "note_dep" callback.
* haifa-sched.c (add_to_speculative_block): Strengthen param
"insn" from rtx to rtx_insn *.
(clear_priorities): Likewise.
(calc_priorities): Likewise for local "insn".
* sched-deps.c (haifa_start_insn): Likewise for param "insn".
Remove redundant checked cast.
(haifa_note_mem_dep): Likewise for param "pending_insn".
(haifa_note_dep): Likewise for param "elem".
(note_mem_dep): Likewise for param "e".
(sched_analyze_1): Add checked casts.
(sched_analyze_2): Likewise.
* sel-sched-dump.c (dump_insn_vector): Strengthen local "succ"
from rtx to rtx_insn *.
(debug): Update param from vec<rtx> & to vec<rtx_insn *>, and
from vec<rtx> * to vec<rtx_insn *> *.
* sel-sched-ir.c (blist_add): Remove use of SET_BND_TO
scaffolding.
(flist_add): Strengthen param "executing_insns" from
vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
(advance_deps_context): Remove now-redundant checked cast.
(init_fences): Replace uses of NULL_RTX with NULL.
(merge_fences): Strengthen params "last_scheduled_insn" and
"sched_next" from rtx to rtx_insn * and "executing_insns" from
vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
(add_clean_fence_to_fences): Replace uses of NULL_RTX with NULL.
(get_nop_from_pool): Add local "nop_pat" so that "nop" can be
an instruction, rather than doing double-duty as a pattern.
(return_nop_to_pool): Update for change of insn_t.
(deps_init_id): Remove now-redundant checked cast.
(struct sched_scan_info_def): Strengthen param of "init_insn"
callback from rtx to insn_t.
(sched_scan): Strengthen local "insn" from rtx to rtx_insn *.
(init_global_and_expr_for_insn): Replace uses of NULL_RTX with
NULL.
(get_seqno_by_succs): Strengthen param "insn" and locals "tmp",
"end" from rtx to rtx_insn *.
(create_vinsn_from_insn_rtx): Likewise for param "insn_rtx".
(rtx insn_rtx, bool force_unique_p)
(BND_TO): Delete function.
(SET_BND_TO): Delete function.
* sel-sched.c (advance_one_cycle): Strengthen local "insn" from
rtx to rtx_insn *.
(extract_new_fences_from): Replace uses of NULL_RTX with NULL.
(replace_dest_with_reg_in_expr): Strengthen local "insn_rtx" from
rtx to rtx_insn *.
(undo_transformations): Likewise for param "insn".
(update_liveness_on_insn): Likewise.
(compute_live_below_insn): Likewise for param "insn" and local
"succ".
(update_data_sets): Likewise for param "insn".
(fill_vec_av_set): Replace uses of NULL_RTX with NULL.
(convert_vec_av_set_to_ready): Drop now-redundant checked cast.
(invoke_aftermath_hooks): Strengthen param "best_insn" from rtx to
rtx_insn *.
(move_cond_jump): Likewise for param "insn".
(move_cond_jump): Drop use of SET_BND_TO.
(compute_av_set_on_boundaries): Likewise.
(update_fence_and_insn): Replace uses of NULL_RTX with NULL.
(update_and_record_unavailable_insns): Strengthen local "bb_end"
from rtx to rtx_insn *.
(maybe_emit_renaming_copy): Likewise for param "insn".
(maybe_emit_speculative_check): Likewise.
(handle_emitting_transformations): Likewise.
(remove_insn_from_stream): Likewise.
(code_motion_process_successors): Strengthen local "succ" from rtx
to insn_t.
/
* rtx-classes-status.txt: Delete SET_BND_TO.
---
gcc/haifa-sched.c | 10 ++++-----
gcc/sched-deps.c | 21 ++++++++++--------
gcc/sched-int.h | 10 ++++-----
gcc/sel-sched-dump.c | 6 ++---
gcc/sel-sched-ir.c | 59 ++++++++++++++++++++++----------------------------
gcc/sel-sched-ir.h | 15 ++++++-------
gcc/sel-sched.c | 42 +++++++++++++++++------------------
rtx-classes-status.txt | 1 -
8 files changed, 79 insertions(+), 85 deletions(-)
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 132d9a2..28b99de 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -877,7 +877,7 @@ static int haifa_speculate_insn (rtx, ds_t, rtx *);
static void generate_recovery_code (rtx_insn *);
static void process_insn_forw_deps_be_in_spec (rtx, rtx, ds_t);
static void begin_speculative_block (rtx_insn *);
-static void add_to_speculative_block (rtx);
+static void add_to_speculative_block (rtx_insn *);
static void init_before_recovery (basic_block *);
static void create_check_block_twin (rtx_insn *, bool);
static void fix_recovery_deps (basic_block);
@@ -888,7 +888,7 @@ static void fix_jump_move (rtx);
static void move_block_after_check (rtx);
static void move_succs (vec<edge, va_gc> **, basic_block);
static void sched_remove_insn (rtx_insn *);
-static void clear_priorities (rtx, rtx_vec_t *);
+static void clear_priorities (rtx_insn *, rtx_vec_t *);
static void calc_priorities (rtx_vec_t);
static void add_jump_dependencies (rtx, rtx);
@@ -7356,7 +7356,7 @@ static void haifa_init_insn (rtx);
/* Generates recovery code for BE_IN speculative INSN. */
static void
-add_to_speculative_block (rtx insn)
+add_to_speculative_block (rtx_insn *insn)
{
ds_t ts;
sd_iterator_def sd_it;
@@ -8322,7 +8322,7 @@ sched_remove_insn (rtx_insn *insn)
Store in vector pointed to by ROOTS_PTR insns on which priority () should
be invoked to initialize all cleared priorities. */
static void
-clear_priorities (rtx insn, rtx_vec_t *roots_ptr)
+clear_priorities (rtx_insn *insn, rtx_vec_t *roots_ptr)
{
sd_iterator_def sd_it;
dep_t dep;
@@ -8358,7 +8358,7 @@ static void
calc_priorities (rtx_vec_t roots)
{
int i;
- rtx insn;
+ rtx_insn *insn;
FOR_EACH_VEC_ELT (roots, i, insn)
priority (insn);
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 89b8519..f299891 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -1801,11 +1801,11 @@ static rtx_insn *cur_insn = NULL;
/* Implement hooks for haifa scheduler. */
static void
-haifa_start_insn (rtx insn)
+haifa_start_insn (rtx_insn *insn)
{
gcc_assert (insn && !cur_insn);
- cur_insn = as_a <rtx_insn *> (insn);
+ cur_insn = insn;
}
static void
@@ -1833,7 +1833,7 @@ haifa_note_reg_use (int regno)
}
static void
-haifa_note_mem_dep (rtx mem, rtx pending_mem, rtx pending_insn, ds_t ds)
+haifa_note_mem_dep (rtx mem, rtx pending_mem, rtx_insn *pending_insn, ds_t ds)
{
if (!(ds & SPECULATIVE))
{
@@ -1855,7 +1855,7 @@ haifa_note_mem_dep (rtx mem, rtx pending_mem, rtx pending_insn, ds_t ds)
}
static void
-haifa_note_dep (rtx elem, ds_t ds)
+haifa_note_dep (rtx_insn *elem, ds_t ds)
{
dep_def _dep;
dep_t dep = &_dep;
@@ -1888,7 +1888,7 @@ note_reg_clobber (int r)
}
static void
-note_mem_dep (rtx m1, rtx m2, rtx e, ds_t ds)
+note_mem_dep (rtx m1, rtx m2, rtx_insn *e, ds_t ds)
{
if (sched_deps_info->note_mem_dep)
sched_deps_info->note_mem_dep (m1, m2, e, ds);
@@ -2501,7 +2501,7 @@ sched_analyze_1 (struct deps_desc *deps, rtx x, rtx_insn *insn)
{
if (anti_dependence (XEXP (pending_mem, 0), t)
&& ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
- note_mem_dep (t, XEXP (pending_mem, 0), XEXP (pending, 0),
+ note_mem_dep (t, XEXP (pending_mem, 0), as_a <rtx_insn *> (XEXP (pending, 0)),
DEP_ANTI);
pending = XEXP (pending, 1);
@@ -2514,7 +2514,8 @@ sched_analyze_1 (struct deps_desc *deps, rtx x, rtx_insn *insn)
{
if (output_dependence (XEXP (pending_mem, 0), t)
&& ! sched_insns_conditions_mutex_p (insn, XEXP (pending, 0)))
- note_mem_dep (t, XEXP (pending_mem, 0), XEXP (pending, 0),
+ note_mem_dep (t, XEXP (pending_mem, 0),
+ as_a <rtx_insn *> (XEXP (pending, 0)),
DEP_OUTPUT);
pending = XEXP (pending, 1);
@@ -2646,7 +2647,8 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx_insn *insn)
if (read_dependence (XEXP (pending_mem, 0), t)
&& ! sched_insns_conditions_mutex_p (insn,
XEXP (pending, 0)))
- note_mem_dep (t, XEXP (pending_mem, 0), XEXP (pending, 0),
+ note_mem_dep (t, XEXP (pending_mem, 0),
+ as_a <rtx_insn *> (XEXP (pending, 0)),
DEP_ANTI);
pending = XEXP (pending, 1);
@@ -2660,7 +2662,8 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx_insn *insn)
if (true_dependence (XEXP (pending_mem, 0), VOIDmode, t)
&& ! sched_insns_conditions_mutex_p (insn,
XEXP (pending, 0)))
- note_mem_dep (t, XEXP (pending_mem, 0), XEXP (pending, 0),
+ note_mem_dep (t, XEXP (pending_mem, 0),
+ as_a <rtx_insn *> (XEXP (pending, 0)),
sched_deps_info->generate_spec_deps
? BEGIN_DATA | DEP_TRUE : DEP_TRUE);
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 9f2a3e4..7ac0c8e 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -41,8 +41,8 @@ enum sched_pressure_algorithm
};
typedef vec<basic_block> bb_vec_t;
-typedef vec<rtx> insn_vec_t;
-typedef vec<rtx> rtx_vec_t;
+typedef vec<rtx_insn *> insn_vec_t;
+typedef vec<rtx_insn *> rtx_vec_t;
extern void sched_init_bbs (void);
@@ -1241,7 +1241,7 @@ struct sched_deps_info_def
void (*compute_jump_reg_dependencies) (rtx, regset);
/* Start analyzing insn. */
- void (*start_insn) (rtx);
+ void (*start_insn) (rtx_insn *);
/* Finish analyzing insn. */
void (*finish_insn) (void);
@@ -1269,10 +1269,10 @@ struct sched_deps_info_def
/* Note memory dependence of type DS between MEM1 and MEM2 (which is
in the INSN2). */
- void (*note_mem_dep) (rtx mem1, rtx mem2, rtx insn2, ds_t ds);
+ void (*note_mem_dep) (rtx mem1, rtx mem2, rtx_insn *insn2, ds_t ds);
/* Note a dependence of type DS from the INSN. */
- void (*note_dep) (rtx, ds_t ds);
+ void (*note_dep) (rtx_insn *, ds_t ds);
/* Nonzero if we should use cselib for better alias analysis. This
must be 0 if the dependency information is used after sched_analyze
diff --git a/gcc/sel-sched-dump.c b/gcc/sel-sched-dump.c
index 8dc82c9..d2169c8 100644
--- a/gcc/sel-sched-dump.c
+++ b/gcc/sel-sched-dump.c
@@ -534,7 +534,7 @@ void
dump_insn_vector (rtx_vec_t succs)
{
int i;
- rtx succ;
+ rtx_insn *succ;
FOR_EACH_VEC_ELT (succs, i, succ)
if (succ)
@@ -996,7 +996,7 @@ debug_blist (blist_t bnds)
/* Dump a rtx vector REF. */
DEBUG_FUNCTION void
-debug (vec<rtx> &ref)
+debug (vec<rtx_insn *> &ref)
{
switch_dump (stderr);
dump_insn_vector (ref);
@@ -1005,7 +1005,7 @@ debug (vec<rtx> &ref)
}
DEBUG_FUNCTION void
-debug (vec<rtx> *ptr)
+debug (vec<rtx_insn *> *ptr)
{
if (ptr)
debug (*ptr);
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 8493481..a15bfc0 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);
- SET_BND_TO (bnd) = to;
+ BND_TO (bnd) = to;
BND_PTR (bnd) = ptr;
BND_AV (bnd) = NULL;
BND_AV1 (bnd) = NULL;
@@ -262,7 +262,7 @@ init_fence_for_scheduling (fence_t f)
/* Add new fence consisting of INSN and STATE to the list pointed to by LP. */
static void
flist_add (flist_t *lp, insn_t insn, state_t state, deps_t dc, void *tc,
- insn_t last_scheduled_insn, vec<rtx, va_gc> *executing_insns,
+ insn_t last_scheduled_insn, vec<rtx_insn *, va_gc> *executing_insns,
int *ready_ticks, int ready_ticks_size, insn_t sched_next,
int cycle, int cycle_issued_insns, int issue_more,
bool starts_cycle_p, bool after_stall_p)
@@ -516,7 +516,7 @@ void
advance_deps_context (deps_t dc, insn_t insn)
{
sched_deps_info = &advance_deps_context_sched_deps_info;
- deps_analyze_insn (dc, as_a <rtx_insn *> (insn));
+ deps_analyze_insn (dc, insn);
}
\f
@@ -614,11 +614,11 @@ init_fences (insn_t old_fence)
state_create (),
create_deps_context () /* dc */,
create_target_context (true) /* tc */,
- NULL_RTX /* last_scheduled_insn */,
+ NULL /* last_scheduled_insn */,
NULL, /* executing_insns */
XCNEWVEC (int, ready_ticks_size), /* ready_ticks */
ready_ticks_size,
- NULL_RTX /* sched_next */,
+ NULL /* sched_next */,
1 /* cycle */, 0 /* cycle_issued_insns */,
issue_rate, /* issue_more */
1 /* starts_cycle_p */, 0 /* after_stall_p */);
@@ -637,7 +637,8 @@ init_fences (insn_t old_fence)
static void
merge_fences (fence_t f, insn_t insn,
state_t state, deps_t dc, void *tc,
- rtx last_scheduled_insn, vec<rtx, va_gc> *executing_insns,
+ rtx_insn *last_scheduled_insn,
+ vec<rtx_insn *, va_gc> *executing_insns,
int *ready_ticks, int ready_ticks_size,
rtx sched_next, int cycle, int issue_more, bool after_stall_p)
{
@@ -802,9 +803,10 @@ merge_fences (fence_t f, insn_t insn,
other parameters. */
static void
add_to_fences (flist_tail_t new_fences, insn_t insn,
- state_t state, deps_t dc, void *tc, rtx last_scheduled_insn,
- vec<rtx, va_gc> *executing_insns, int *ready_ticks,
- int ready_ticks_size, rtx sched_next, int cycle,
+ state_t state, deps_t dc, void *tc,
+ rtx_insn *last_scheduled_insn,
+ vec<rtx_insn *, va_gc> *executing_insns, int *ready_ticks,
+ int ready_ticks_size, rtx_insn *sched_next, int cycle,
int cycle_issued_insns, int issue_rate,
bool starts_cycle_p, bool after_stall_p)
{
@@ -866,9 +868,9 @@ add_clean_fence_to_fences (flist_tail_t new_fences, insn_t succ, fence_t fence)
add_to_fences (new_fences,
succ, state_create (), create_deps_context (),
create_target_context (true),
- NULL_RTX, NULL,
+ NULL, NULL,
XCNEWVEC (int, ready_ticks_size), ready_ticks_size,
- NULL_RTX, FENCE_CYCLE (fence) + 1,
+ NULL, FENCE_CYCLE (fence) + 1,
0, issue_rate, 1, FENCE_AFTER_STALL_P (fence));
}
@@ -1036,16 +1038,17 @@ static vinsn_t nop_vinsn = NULL;
insn_t
get_nop_from_pool (insn_t insn)
{
+ rtx nop_pat;
insn_t nop;
bool old_p = nop_pool.n != 0;
int flags;
if (old_p)
- nop = nop_pool.v[--nop_pool.n];
+ nop_pat = nop_pool.v[--nop_pool.n];
else
- nop = nop_pattern;
+ nop_pat = nop_pattern;
- nop = emit_insn_before (nop, insn);
+ nop = emit_insn_before (nop_pat, insn);
if (old_p)
flags = INSN_INIT_TODO_SSID;
@@ -1069,7 +1072,7 @@ return_nop_to_pool (insn_t nop, bool full_tidying)
INSN_DELETED_P (nop) = 0;
if (nop_pool.n == nop_pool.s)
- nop_pool.v = XRESIZEVEC (rtx, nop_pool.v,
+ nop_pool.v = XRESIZEVEC (rtx_insn *, nop_pool.v,
(nop_pool.s = 2 * nop_pool.s + 1));
nop_pool.v[nop_pool.n++] = nop;
}
@@ -2753,7 +2756,7 @@ deps_init_id (idata_t id, insn_t insn, bool force_unique_p)
sched_deps_info = &deps_init_id_sched_deps_info;
- deps_analyze_insn (dc, as_a <rtx_insn *> (insn));
+ deps_analyze_insn (dc, insn);
free_deps (dc);
@@ -2779,7 +2782,7 @@ struct sched_scan_info_def
/* This hook makes scheduler frontend to initialize its internal data
structures for the passed insn. */
- void (*init_insn) (rtx);
+ void (*init_insn) (insn_t);
};
/* A driver function to add a set of basic blocks (BBS) to the
@@ -2803,7 +2806,7 @@ sched_scan (const struct sched_scan_info_def *ssi, bb_vec_t bbs)
if (ssi->init_insn)
FOR_EACH_VEC_ELT (bbs, i, bb)
{
- rtx insn;
+ rtx_insn *insn;
FOR_BB_INSNS (bb, insn)
ssi->init_insn (insn);
@@ -2942,7 +2945,7 @@ init_global_and_expr_for_insn (insn_t insn)
if (NOTE_INSN_BASIC_BLOCK_P (insn))
{
- init_global_data.prev_insn = NULL_RTX;
+ init_global_data.prev_insn = NULL;
return;
}
@@ -2959,7 +2962,7 @@ init_global_and_expr_for_insn (insn_t insn)
init_global_data.prev_insn = insn;
}
else
- init_global_data.prev_insn = NULL_RTX;
+ init_global_data.prev_insn = NULL;
if (GET_CODE (PATTERN (insn)) == ASM_INPUT
|| asm_noperands (PATTERN (insn)) >= 0)
@@ -3983,10 +3986,10 @@ sel_luid_for_non_insn (rtx x)
/* Find the proper seqno for inserting at INSN by successors.
Return -1 if no successors with positive seqno exist. */
static int
-get_seqno_by_succs (rtx insn)
+get_seqno_by_succs (rtx_insn *insn)
{
basic_block bb = BLOCK_FOR_INSN (insn);
- rtx tmp = insn, end = BB_END (bb);
+ rtx_insn *tmp = insn, *end = BB_END (bb);
int seqno;
insn_t succ = NULL;
succ_iterator si;
@@ -5761,7 +5764,7 @@ create_insn_rtx_from_pattern (rtx pattern, rtx label)
/* Create a new vinsn for INSN_RTX. FORCE_UNIQUE_P is true when the vinsn
must not be clonable. */
vinsn_t
-create_vinsn_from_insn_rtx (rtx insn_rtx, bool force_unique_p)
+create_vinsn_from_insn_rtx (rtx_insn *insn_rtx, bool force_unique_p)
{
gcc_assert (INSN_P (insn_rtx) && !INSN_IN_STREAM_P (insn_rtx));
@@ -6461,14 +6464,4 @@ rtx& SET_VINSN_INSN_RTX (vinsn_t vi)
return vi->insn_rtx;
}
-rtx_insn *BND_TO (bnd_t bnd)
-{
- return as_a_nullable <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 abff203..118e001 100644
--- a/gcc/sel-sched-ir.h
+++ b/gcc/sel-sched-ir.h
@@ -60,7 +60,7 @@ typedef _list_t _xlist_t;
#define _XLIST_NEXT(L) (_LIST_NEXT (L))
/* Instruction. */
-typedef rtx insn_t;
+typedef rtx_insn *insn_t;
/* List of insns. */
typedef _list_t ilist_t;
@@ -233,8 +233,7 @@ struct _bnd
deps_t dc;
};
typedef struct _bnd *bnd_t;
-extern rtx_insn *BND_TO (bnd_t bnd);
-extern insn_t& SET_BND_TO (bnd_t bnd);
+#define BND_TO(B) ((B)->to)
/* PTR stands not for pointer as you might think, but as a Path To Root of the
current instruction group from boundary B. */
@@ -279,7 +278,7 @@ struct _fence
tc_t tc;
/* A vector of insns that are scheduled but not yet completed. */
- vec<rtx, va_gc> *executing_insns;
+ vec<rtx_insn *, va_gc> *executing_insns;
/* A vector indexed by UIDs that caches the earliest cycle on which
an insn can be scheduled on this fence. */
@@ -289,13 +288,13 @@ struct _fence
int ready_ticks_size;
/* Insn, which has been scheduled last on this fence. */
- rtx last_scheduled_insn;
+ rtx_insn *last_scheduled_insn;
/* The last value of can_issue_more variable on this fence. */
int issue_more;
/* If non-NULL force the next scheduled insn to be SCHED_NEXT. */
- rtx sched_next;
+ rtx_insn *sched_next;
/* True if fill_insns processed this fence. */
BOOL_BITFIELD processed_p : 1;
@@ -1255,7 +1254,7 @@ _succ_iter_start (insn_t *succp, insn_t insn, int flags)
}
static inline bool
-_succ_iter_cond (succ_iterator *ip, rtx *succp, rtx insn,
+_succ_iter_cond (succ_iterator *ip, insn_t *succp, insn_t insn,
bool check (edge, succ_iterator *))
{
if (!ip->bb_end)
@@ -1661,7 +1660,7 @@ extern void sel_unregister_cfg_hooks (void);
/* Expression transformation routines. */
extern rtx_insn *create_insn_rtx_from_pattern (rtx, rtx);
-extern vinsn_t create_vinsn_from_insn_rtx (rtx, bool);
+extern vinsn_t create_vinsn_from_insn_rtx (rtx_insn *, bool);
extern rtx_insn *create_copy_of_insn_rtx (rtx);
extern void change_vinsn_in_expr (expr_t, vinsn_t);
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 9cd23ef..a6065fd 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -572,7 +572,7 @@ advance_one_cycle (fence_t fence)
{
unsigned i;
int cycle;
- rtx insn;
+ rtx_insn *insn;
advance_state (FENCE_STATE (fence));
cycle = ++FENCE_CYCLE (fence);
@@ -630,7 +630,7 @@ extract_new_fences_from (flist_t old_fences, flist_tail_t new_fences,
int orig_max_seqno)
{
bool was_here_p = false;
- insn_t insn = NULL_RTX;
+ insn_t insn = NULL;
insn_t succ;
succ_iterator si;
ilist_iterator ii;
@@ -965,7 +965,7 @@ create_insn_rtx_with_lhs (vinsn_t vi, rtx lhs_rtx)
static void
replace_dest_with_reg_in_expr (expr_t expr, rtx new_reg)
{
- rtx insn_rtx;
+ rtx_insn *insn_rtx;
vinsn_t vinsn;
insn_rtx = create_insn_rtx_with_lhs (EXPR_VINSN (expr), new_reg);
@@ -1901,7 +1901,7 @@ identical_copy_p (rtx insn)
/* Undo all transformations on *AV_PTR that were done when
moving through INSN. */
static void
-undo_transformations (av_set_t *av_ptr, rtx insn)
+undo_transformations (av_set_t *av_ptr, rtx_insn *insn)
{
av_set_iterator av_iter;
expr_t expr;
@@ -3196,7 +3196,7 @@ compute_live (insn_t insn)
/* Update liveness sets for INSN. */
static inline void
-update_liveness_on_insn (rtx insn)
+update_liveness_on_insn (rtx_insn *insn)
{
ignore_first = true;
compute_live (insn);
@@ -3204,9 +3204,9 @@ update_liveness_on_insn (rtx insn)
/* Compute liveness below INSN and write it into REGS. */
static inline void
-compute_live_below_insn (rtx insn, regset regs)
+compute_live_below_insn (rtx_insn *insn, regset regs)
{
- rtx succ;
+ rtx_insn *succ;
succ_iterator si;
FOR_EACH_SUCC_1 (succ, si, insn, SUCCS_ALL)
@@ -3215,7 +3215,7 @@ compute_live_below_insn (rtx insn, regset regs)
/* Update the data gathered in av and lv sets starting from INSN. */
static void
-update_data_sets (rtx insn)
+update_data_sets (rtx_insn *insn)
{
update_liveness_on_insn (insn);
if (sel_bb_head_p (insn))
@@ -3962,7 +3962,7 @@ fill_vec_av_set (av_set_t av, blist_t bnds, fence_t fence,
if (FENCE_SCHED_NEXT (fence))
{
gcc_assert (sched_next_worked == 1);
- FENCE_SCHED_NEXT (fence) = NULL_RTX;
+ FENCE_SCHED_NEXT (fence) = NULL;
}
/* No need to stall if this variable was not initialized. */
@@ -4022,7 +4022,7 @@ convert_vec_av_set_to_ready (void)
insn_t insn = VINSN_INSN_RTX (vi);
ready_try[n] = 0;
- ready.vec[n] = as_a <rtx_insn *> (insn);
+ ready.vec[n] = insn;
}
}
@@ -4288,7 +4288,7 @@ calculate_privileged_insns (void)
number is ISSUE_MORE. FENCE and BEST_INSN are the current fence
and the insn chosen for scheduling, respectively. */
static int
-invoke_aftermath_hooks (fence_t fence, rtx best_insn, int issue_more)
+invoke_aftermath_hooks (fence_t fence, rtx_insn *best_insn, int issue_more)
{
gcc_assert (INSN_P (best_insn));
@@ -4929,7 +4929,7 @@ remove_insns_that_need_bookkeeping (fence_t fence, av_set_t *av_ptr)
...
*/
static void
-move_cond_jump (rtx insn, bnd_t bnd)
+move_cond_jump (rtx_insn *insn, bnd_t bnd)
{
edge ft_edge;
basic_block block_from, block_next, block_new, block_bnd, bb;
@@ -4962,7 +4962,7 @@ move_cond_jump (rtx insn, bnd_t bnd)
/* Jump is moved to the boundary. */
next = PREV_INSN (insn);
- SET_BND_TO (bnd) = insn;
+ BND_TO (bnd) = insn;
ft_edge = find_fallthru_edge_from (block_from);
block_next = ft_edge->dest;
@@ -5103,7 +5103,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;
- SET_BND_TO (bnd) = bnd_to;
+ BND_TO (bnd) = bnd_to;
}
av_set_clear (&BND_AV (bnd));
@@ -5380,7 +5380,7 @@ update_fence_and_insn (fence_t fence, insn_t insn, int need_stall)
SCHED_GROUP_P (insn) = 0;
}
else
- FENCE_SCHED_NEXT (fence) = NULL_RTX;
+ FENCE_SCHED_NEXT (fence) = NULL;
if (INSN_UID (insn) < FENCE_READY_TICKS_SIZE (fence))
FENCE_READY_TICKS (fence) [INSN_UID (insn)] = 0;
@@ -5714,7 +5714,7 @@ update_and_record_unavailable_insns (basic_block book_block)
av_set_iterator i;
av_set_t old_av_set = NULL;
expr_t cur_expr;
- rtx bb_end = sel_bb_end (book_block);
+ rtx_insn *bb_end = sel_bb_end (book_block);
/* First, get correct liveness in the bookkeeping block. The problem is
the range between the bookeeping insn and the end of block. */
@@ -5882,7 +5882,7 @@ track_scheduled_insns_and_blocks (rtx insn)
/* Emit a register-register copy for INSN if needed. Return true if
emitted one. PARAMS is the move_op static parameters. */
static bool
-maybe_emit_renaming_copy (rtx insn,
+maybe_emit_renaming_copy (rtx_insn *insn,
moveop_static_params_p params)
{
bool insn_emitted = false;
@@ -5922,7 +5922,7 @@ maybe_emit_renaming_copy (rtx insn,
Return true if we've emitted one. PARAMS is the move_op static
parameters. */
static bool
-maybe_emit_speculative_check (rtx insn, expr_t expr,
+maybe_emit_speculative_check (rtx_insn *insn, expr_t expr,
moveop_static_params_p params)
{
bool insn_emitted = false;
@@ -5951,7 +5951,7 @@ maybe_emit_speculative_check (rtx insn, expr_t expr,
insn such as renaming/speculation. Return true if one of such
transformations actually happened, and we have emitted this insn. */
static bool
-handle_emitting_transformations (rtx insn, expr_t expr,
+handle_emitting_transformations (rtx_insn *insn, expr_t expr,
moveop_static_params_p params)
{
bool insn_emitted = false;
@@ -6010,7 +6010,7 @@ need_nop_to_preserve_insn_bb (rtx insn)
/* Remove INSN from stream. When ONLY_DISCONNECT is true, its data
is not removed but reused when INSN is re-emitted. */
static void
-remove_insn_from_stream (rtx insn, bool only_disconnect)
+remove_insn_from_stream (rtx_insn *insn, bool only_disconnect)
{
/* If there's only one insn in the BB, make sure that a nop is
inserted into it, so the basic block won't disappear when we'll
@@ -6358,7 +6358,7 @@ code_motion_process_successors (insn_t insn, av_set_t orig_ops,
{
int res = 0;
succ_iterator succ_i;
- rtx succ;
+ insn_t succ;
basic_block bb;
int old_index;
unsigned old_succs;
diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt
index 84d53ba..29d445f 100644
--- a/rtx-classes-status.txt
+++ b/rtx-classes-status.txt
@@ -12,7 +12,6 @@ TODO: "Scaffolding" to be removed
=================================
* DF_REF_INSN
* SET_BB_HEAD, SET_BB_END, SET_BB_HEADER
-* SET_BND_TO
* SET_DEP_PRO, SET_DEP_CON
* SET_NEXT_INSN, SET_PREV_INSN
* SET_VINSN_INSN_RTX
--
1.8.5.3
next prev parent reply other threads:[~2014-08-06 18:05 UTC|newest]
Thread overview: 433+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-06 17:19 [PATCH 000/236] Introduce rtx subclasses David Malcolm
2014-08-06 17:19 ` [PATCH 018/236] Strengthen return types of various {next|prev}_*insn from rtx to rtx_insn * David Malcolm
2014-08-12 21:59 ` Jeff Law
2014-08-19 17:42 ` David Malcolm
2014-08-06 17:19 ` [PATCH 056/236] cfgbuild.c: Use rtx_insn David Malcolm
2014-08-06 17:19 ` [PATCH 054/236] calls.c: " David Malcolm
2014-08-06 17:19 ` [PATCH 080/236] haifa-sched.c: " David Malcolm
2014-08-06 17:19 ` [PATCH 013/236] DEP_PRO/DEP_CON scaffolding David Malcolm
2014-08-12 21:21 ` Jeff Law
2014-08-19 15:36 ` David Malcolm
2014-08-06 17:19 ` [PATCH 042/236] try_split returns an rtx_insn David Malcolm
2014-08-13 18:06 ` Jeff Law
2014-08-21 8:54 ` David Malcolm
2014-08-06 17:19 ` [PATCH 008/236] Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants David Malcolm
2014-08-12 21:15 ` Jeff Law
2014-08-18 20:52 ` David Malcolm
2014-08-06 17:19 ` [PATCH 019/236] Strengthen return type of gen_label_rtx David Malcolm
2014-08-12 22:00 ` Jeff Law
2014-08-19 18:14 ` David Malcolm
2014-08-06 17:19 ` [PATCH 027/236] asan_emit_stack_protection returns an insn David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:48 ` David Malcolm
2014-08-06 17:19 ` [PATCH 007/236] New function: for_each_rtx_in_insn David Malcolm
2014-08-12 21:08 ` Jeff Law
2014-08-14 21:08 ` David Malcolm
2014-08-14 21:36 ` Richard Sandiford
2014-08-15 5:19 ` Jeff Law
2014-08-18 20:27 ` David Malcolm
2014-08-06 17:19 ` [PATCH 058/236] cfgloop.c: Use rtx_insn David Malcolm
2014-08-06 17:19 ` [PATCH 001/236] Convert lab_rtx_for_bb from pointer_map_t to pointer_map<rtx> David Malcolm
2014-08-12 20:50 ` Jeff Law
2014-08-12 21:16 ` Trevor Saunders
2014-08-13 0:48 ` David Malcolm
2014-08-13 2:51 ` Jeff Law
2014-08-06 17:19 ` [PATCH 004/236] PHASE 1: Initial "scaffolding" commits David Malcolm
2014-08-12 20:55 ` Jeff Law
2014-08-18 19:42 ` David Malcolm
2014-08-06 17:19 ` [PATCH 021/236] entry_of_function returns an insn David Malcolm
2014-08-13 3:04 ` Jeff Law
2014-08-19 18:45 ` David Malcolm
2014-08-06 17:19 ` [PATCH 063/236] compare-elim.c: Use rtx_insn David Malcolm
2014-08-06 17:19 ` [PATCH 040/236] Use rtx_insn internally within generated functions David Malcolm
2014-08-13 18:03 ` Jeff Law
2014-08-21 7:50 ` David Malcolm
2014-08-06 17:19 ` [PATCH 047/236] PHASE 2: Per-file commits in main source directory David Malcolm
2014-08-13 18:10 ` Jeff Law
2014-08-21 15:09 ` David Malcolm
2014-08-06 17:19 ` [PATCH 012/236] Convert DF_REF_INSN to a function for now David Malcolm
2014-08-12 21:20 ` Jeff Law
2014-08-13 20:32 ` David Malcolm
2014-08-13 20:34 ` Jeff Law
2014-08-14 0:14 ` David Malcolm
2014-08-14 2:56 ` Jeff Law
2014-08-14 20:23 ` David Malcolm
2014-08-19 15:22 ` David Malcolm
2014-08-06 17:19 ` [PATCH 034/236] next_cc0_user and prev_cc0_setter scaffolding David Malcolm
2014-08-13 17:56 ` Jeff Law
2014-08-19 21:12 ` David Malcolm
2014-08-06 17:19 ` [PATCH 006/236] Introduce rtx_insn subclass of rtx_def David Malcolm
2014-08-12 21:06 ` Jeff Law
2014-08-18 20:05 ` David Malcolm
2014-08-06 17:19 ` [PATCH 002/236] JUMP_LABEL is not always a LABEL David Malcolm
2014-08-12 20:52 ` Jeff Law
2014-08-06 17:19 ` [PATCH 009/236] Replace BB_HEAD et al macros with functions David Malcolm
2014-08-12 21:16 ` Jeff Law
2014-08-19 0:32 ` David Malcolm
2014-08-23 18:49 ` [BUILDROBOT][PATCH] frv-linux fallout (was: [PATCH 009/236] Replace BB_HEAD et al macros with functions) Jan-Benedict Glaw
2014-08-25 14:11 ` David Malcolm
2014-08-25 19:29 ` Mike Stump
2014-08-25 19:46 ` Steven Bosscher
2014-08-25 19:52 ` Mike Stump
2014-08-06 17:20 ` [PATCH 111/236] sched-deps.c: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 120/236] valtrack.c: " David Malcolm
2014-08-06 17:20 ` [PATCH 137/236] config/iq2000: " David Malcolm
2014-08-06 17:20 ` [PATCH 142/236] config/nds32: " David Malcolm
2014-08-24 3:25 ` Chung-Ju Wu
2014-08-06 17:20 ` [PATCH 090/236] loop-unroll.c: Use rtx_insn (also touches basic-block.h) David Malcolm
2014-08-06 17:20 ` [PATCH 175/236] Remove DEP_PRO/CON scaffolding David Malcolm
2014-08-06 17:20 ` [PATCH 116/236] shrink-wrap.*: Use rtx_insn (touches config/i386/i386.c) David Malcolm
2014-08-06 17:20 ` [PATCH 144/236] config/picochip: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 066/236] dce.c: Use rtx subclasses David Malcolm
2014-08-06 17:20 ` [PATCH 145/236] config/rs6000: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 020/236] Return rtx_insn from get_insns/get_last_insn David Malcolm
2014-08-12 22:01 ` Jeff Law
2014-08-19 18:26 ` David Malcolm
2014-08-06 17:20 ` [PATCH 123/236] web.c: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 132/236] config/epiphany: " David Malcolm
2014-08-06 17:20 ` [PATCH 151/236] config/spu/spu.c: " David Malcolm
2014-08-06 17:20 ` [PATCH 092/236] lra: use rtx_insn David Malcolm
2014-08-13 20:20 ` Jeff Law
2014-08-06 17:20 ` [PATCH 104/236] regcprop.c: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 087/236] loop-doloop.c: Use rtx_insn in a few places David Malcolm
2014-08-06 17:20 ` [PATCH 003/236] config/mn10300: Fix missing PATTERN in PARALLEL handling David Malcolm
2014-08-12 20:53 ` Jeff Law
2014-08-19 18:02 ` Richard Henderson
2014-08-27 15:51 ` David Malcolm
2014-08-27 16:11 ` Richard Henderson
2014-08-27 16:35 ` David Malcolm
2014-08-27 16:42 ` Richard Henderson
2014-08-06 17:20 ` [PATCH 125/236] config/aarch64/aarch64.c: Use rtx_insn David Malcolm
2014-08-13 15:14 ` Richard Earnshaw
2014-08-06 17:20 ` [PATCH 030/236] Convert various rtx to rtx_note * David Malcolm
2014-08-19 20:14 ` David Malcolm
2014-08-06 17:20 ` [PATCH 109/236] resource.c: Use rtx_insn David Malcolm
2014-08-14 2:51 ` Jeff Law
2014-08-06 17:20 ` [PATCH 084/236] internal-fn.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:20 ` [PATCH 048/236] alias.c: Use rtx_insn David Malcolm
2014-08-13 18:11 ` Jeff Law
2014-08-06 17:20 ` [PATCH 049/236] asan.c: strengthen some rtx locals David Malcolm
2014-08-13 18:11 ` Jeff Law
2014-08-06 17:20 ` [PATCH 068/236] df-*.c: Use rtx_insn David Malcolm
2014-08-06 17:20 ` [PATCH 077/236] fwprop.c: " David Malcolm
2014-08-06 17:20 ` [PATCH 099/236] predict.*: Use rtx_insn (also touches function.c and config/cris/cris.c) David Malcolm
2014-08-06 17:21 ` [PATCH 232/236] Use rtx_insn in various places in resource.[ch] David Malcolm
2014-08-06 17:21 ` [PATCH 212/236] Use rtx_expr_list for expr_status.x_forced_labels David Malcolm
2014-08-07 11:32 ` Bernd Schmidt
2014-08-07 15:23 ` David Malcolm
2014-08-12 21:24 ` Jeff Law
2014-08-06 17:21 ` [PATCH 223/236] inside_basic_block_p requires a const rtx_insn * David Malcolm
2014-08-06 17:21 ` [PATCH 177/236] Tighten up params of create_basic_block_structure David Malcolm
2014-08-06 17:21 ` [PATCH 186/236] Various condition-handling calls David Malcolm
2014-08-06 17:21 ` [PATCH 206/236] jump.c: Use rtx_sequence David Malcolm
2014-08-06 17:21 ` [PATCH 202/236] dwarf2cfi.c: " David Malcolm
2014-08-06 17:21 ` [PATCH 140/236] config/microblaze/microblaze.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-13 16:21 ` Michael Eager
2014-08-06 17:21 ` [PATCH 219/236] Make SET_NEXT_INSN/SET_PREV_INSN require an rtx_insn David Malcolm
2014-08-06 17:21 ` [PATCH 130/236] config/bfin: Use rtx_insn David Malcolm
2014-08-14 19:52 ` Jeff Law
2014-08-06 17:21 ` [PATCH 189/236] Various scheduling strengthenings David Malcolm
2014-08-06 17:21 ` [PATCH 171/236] du_chain.insn is an rtx_insn David Malcolm
2014-08-06 17:21 ` [PATCH 201/236] Introduce rtx_sequence subclass of rtx_def David Malcolm
2014-08-06 17:21 ` [PATCH 162/236] delete_insn_and_edges takes an rtx_insn * David Malcolm
2014-08-06 17:21 ` [PATCH 182/236] get_last_insn_anywhere returns an rtx_insn David Malcolm
2014-08-06 17:21 ` [PATCH 217/236] Add JUMP_LABEL_AS_INSN David Malcolm
2014-08-06 17:21 ` [PATCH 191/236] Remove DF_REF_INSN scaffolding David Malcolm
2014-08-06 17:21 ` [PATCH 170/236] Eliminate BB_NOTE_LIST scaffolding David Malcolm
2014-08-06 17:21 ` [PATCH 107/236] regstat.c: Use rtx_insn David Malcolm
2014-08-06 17:21 ` [PATCH 200/236] Use rtx_insn_list in various places David Malcolm
2014-08-06 17:21 ` [PATCH 159/236] Convert edge_def.insns.r to rtx_insn * David Malcolm
2014-08-06 17:21 ` [PATCH 236/236] END OF PATCHES: Delete rtx-classes-status.txt David Malcolm
2014-08-19 21:05 ` Richard Henderson
2014-08-06 17:22 ` [PATCH 203/236] except.c: Use rtx_sequence David Malcolm
2014-08-06 17:22 ` [PATCH 166/236] shorten_branches takes an rtx_insn David Malcolm
2014-08-06 17:22 ` [PATCH 215/236] Use rtx_expr_list in various places David Malcolm
2014-08-06 17:22 ` [PATCH 102/236] ree.c: Use rtx_insn David Malcolm
2014-08-06 17:22 ` [PATCH 209/236] sched-vis.c: Use rtx_sequence David Malcolm
2014-08-06 17:22 ` [PATCH 156/236] PHASE 4: Removal of scaffolding David Malcolm
2014-08-15 5:30 ` Jeff Law
2014-08-16 0:35 ` David Malcolm
2014-08-06 17:22 ` [PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params David Malcolm
2014-08-19 20:57 ` Richard Henderson
2014-08-19 21:38 ` David Malcolm
2014-08-19 22:15 ` Bootstrap failure/ ICE in rtl.h (was: Re: [PATCH 225/236] Work towardgmane.comp.gcc.patchess NEXT_INSN/PREV_INSN requiring insns as their params) Tobias Burnus
2014-08-20 1:59 ` David Malcolm
2014-08-20 0:05 ` [PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params Richard Henderson
2014-08-25 14:25 ` Jeff Law
2014-08-26 17:18 ` David Malcolm
2014-08-28 16:38 ` Richard Henderson
2014-08-29 0:09 ` H.J. Lu
2014-08-29 0:50 ` David Malcolm
2014-08-29 1:02 ` Richard Henderson
2014-08-06 17:22 ` [PATCH 165/236] struct haifa_sched_info: prev_head and next_tail David Malcolm
2014-08-06 17:22 ` [PATCH 227/236] find_first_parameter_load params and return type David Malcolm
2014-08-06 17:22 ` [PATCH 233/236] dfa_clear_single_insn_cache takes an rtx_insn David Malcolm
2014-08-06 17:22 ` [PATCH 229/236] NEXT_INSN and PREV_INSN take a const rtx_insn David Malcolm
2014-08-19 21:04 ` Richard Henderson
2014-08-06 17:22 ` [PATCH 224/236] insn_current_reference_address takes an rtx_insn David Malcolm
2014-08-19 20:58 ` Richard Henderson
2014-08-06 17:22 ` [PATCH 185/236] Use rtx_insn in more places in fwprop.c David Malcolm
2014-08-06 17:22 ` [PATCH 220/236] Strengthen return_label and naked_return_label to rtx_code_label * David Malcolm
2014-08-19 20:51 ` Richard Henderson
2014-08-06 17:22 ` [PATCH 205/236] function.c: Use rtx_sequence David Malcolm
2014-08-15 22:25 ` Jeff Law
2014-08-06 17:22 ` [PATCH 213/236] rtl_data.x_nonlocal_goto_handler_labels becomes an rtx_expr_list David Malcolm
2014-08-06 17:22 ` [PATCH 192/236] Tweak to dse.c David Malcolm
2014-08-06 17:22 ` [PATCH 194/236] Use rtx_insn for various target.def hooks David Malcolm
2014-08-15 22:21 ` Jeff Law
2014-08-06 17:22 ` [PATCH 222/236] Use rtx_insn in more places in dwarf2cfi.c David Malcolm
2014-08-19 20:56 ` Richard Henderson
2014-08-19 21:31 ` David Malcolm
2014-08-06 17:22 ` [PATCH 164/236] Add rtx_jump_table_data::get_labels method David Malcolm
2014-08-06 17:22 ` [PATCH 230/236] Make INSN_HAS_LOCATION require an rtx_insn David Malcolm
2014-08-06 17:22 ` [PATCH 032/236] emit_* functions return rtx_insn David Malcolm
2014-08-13 17:53 ` Jeff Law
2014-08-19 20:39 ` David Malcolm
2014-08-06 17:22 ` [PATCH 226/236] Delete find_last_value David Malcolm
2014-08-06 17:37 ` [PATCH 121/236] varasm.c: Use rtx_insn David Malcolm
2014-08-06 17:37 ` [PATCH 028/236] cfgexpand.c: " David Malcolm
2014-08-13 13:42 ` Jeff Law
2014-08-19 19:53 ` David Malcolm
2014-08-06 17:37 ` [PATCH 108/236] reload: Use rtx_insn (also touches caller-save.c and config/arc/arc) David Malcolm
2014-08-14 2:43 ` Jeff Law
2014-08-06 17:37 ` [PATCH 168/236] final_start_function takes an rtx_insn David Malcolm
2014-08-06 17:37 ` [PATCH 082/236] ifcvt.c: Use rtx_insn David Malcolm
2014-08-06 17:37 ` [PATCH 134/236] config/i386/i386.c: Use rtx_code_label David Malcolm
2014-08-06 17:37 ` [PATCH 017/236] Add subclasses for the various kinds of instruction David Malcolm
2014-08-13 3:07 ` Jeff Law
2014-08-19 17:01 ` David Malcolm
2014-08-06 17:37 ` [PATCH 157/236] struct eh_landing_pad_d: field "landing_pad" is an rtx_code_label David Malcolm
2014-08-06 17:37 ` [PATCH 025/236] make_insn_raw returns an rtx_insn David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:38 ` David Malcolm
2014-08-06 17:37 ` [PATCH 086/236] jump.c: Use rtx_insn in a few places (also touches rtl.h and cfgexpand.c) David Malcolm
2014-08-06 17:38 ` [PATCH 187/236] duplicate_insn_chain accepts rtx_insn David Malcolm
2014-08-06 17:38 ` [PATCH 026/236] bb_note returns a rtx_note * David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:44 ` David Malcolm
2014-08-06 17:38 ` [PATCH 005/236] Introduce as_a_nullable David Malcolm
2014-08-12 21:03 ` Jeff Law
2014-08-13 10:01 ` Martin Jambor
2014-08-13 10:07 ` Richard Biener
2014-08-13 13:48 ` Jeff Law
2014-08-18 19:53 ` David Malcolm
2014-08-13 19:58 ` David Malcolm
2014-08-06 17:38 ` [PATCH 138/236] config/m68k: Use rtx_insn David Malcolm
2014-08-06 17:38 ` [PATCH 067/236] ddg: " David Malcolm
2014-08-06 17:38 ` [PATCH 193/236] cselib (also touches sched-deps.c) David Malcolm
2014-08-06 17:38 ` [PATCH 112/236] sched-ebb.c: Use rtx_insn (requires touching sched-int.h and config/c6x/c6x.c) David Malcolm
2014-08-06 17:38 ` [PATCH 061/236] combine.c: Use rtx_insn David Malcolm
2014-08-13 18:39 ` Jeff Law
2014-08-13 18:46 ` Jeff Law
2014-08-06 17:39 ` [PATCH 218/236] Use rtx subclasses in more places in reorg.c David Malcolm
2014-08-06 17:39 ` [PATCH 199/236] Introduce rtx_insn_list subclass of rtx_def David Malcolm
2014-08-07 1:31 ` Trevor Saunders
2014-08-07 15:36 ` David Malcolm
2014-08-30 6:24 ` Jeff Law
2014-08-06 17:39 ` [PATCH 231/236] Make insn_addresses_new require an rtx_insn David Malcolm
2014-08-06 17:39 ` [PATCH 103/236] reg-stack.c: Use rtx_insn David Malcolm
2014-08-06 17:39 ` [PATCH 096/236] optabs.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:39 ` [PATCH 181/236] Strengthen fields in struct sequence_stack and struct emit_status David Malcolm
2014-08-06 17:39 ` [PATCH 155/236] config/xtensa: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:39 ` [PATCH 127/236] config/arc: Use rtx_insn David Malcolm
2014-08-06 17:39 ` [PATCH 149/236] config/sh: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 21:04 ` Oleg Endo
2014-08-06 17:40 ` [PATCH 141/236] config/mips: " David Malcolm
2014-08-06 17:40 ` [PATCH 016/236] BND_TO scaffolding David Malcolm
2014-08-12 21:22 ` Jeff Law
2014-08-19 16:43 ` David Malcolm
2014-08-06 17:40 ` [PATCH 150/236] config/sparc: Use rtx_insn David Malcolm
2014-08-06 17:40 ` [PATCH 065/236] cse.c: " David Malcolm
2014-08-06 17:40 ` [PATCH 143/236] config/pa: " David Malcolm
2014-08-06 17:40 ` [PATCH 055/236] caller-save.c: " David Malcolm
2014-08-06 17:40 ` [PATCH 085/236] ira: Use rtx_insn in various places David Malcolm
2014-08-06 17:40 ` [PATCH 169/236] Strengthen haifa_sched_info callbacks and 3 scheduler hooks David Malcolm
2014-08-15 22:04 ` Jeff Law
2014-08-16 0:52 ` David Malcolm
2014-08-06 17:40 ` [PATCH 074/236] expr.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:41 ` [PATCH 122/236] var-tracking.c: Use rtx_insn David Malcolm
2014-08-06 17:41 ` [PATCH 076/236] function.c: " David Malcolm
2014-08-06 17:41 ` [PATCH 136/236] config/ia64/ia64.c: " David Malcolm
2014-08-06 17:41 ` [PATCH 114/236] sel-sched.c: " David Malcolm
2014-08-06 17:41 ` [PATCH 117/236] stack-ptr-mod.c: " David Malcolm
2014-08-06 17:41 ` [PATCH 204/236] final.c: Use rtx_sequence David Malcolm
2014-08-15 22:24 ` Jeff Law
2014-08-15 22:39 ` Trevor Saunders
2014-08-16 1:00 ` David Malcolm
2014-08-25 17:25 ` Jeff Law
2014-08-25 17:22 ` Jeff Law
2014-08-06 17:41 ` [PATCH 146/236] config/rx: Use rtx_insn David Malcolm
2014-08-06 17:41 ` [PATCH 178/236] Remove BB_HEAD, BB_END, BB_HEADER scaffolding David Malcolm
2014-08-06 17:42 ` [PATCH 179/236] cselib_record_sets_hook takes an rtx_insn David Malcolm
2014-08-06 17:42 ` [PATCH 015/236] BB_NOTE_LIST scaffolding David Malcolm
2014-08-12 21:22 ` Jeff Law
2014-08-19 16:06 ` David Malcolm
2014-08-06 17:42 ` [PATCH 081/236] hw-doloop: Use rtx_insn (touches config/bfin/bfin.c) David Malcolm
2014-08-06 17:42 ` [PATCH 221/236] Add insn method to rtx_expr_list David Malcolm
2014-08-19 20:41 ` Richard Henderson
2014-08-25 14:22 ` Jeff Law
2014-08-26 15:54 ` [PATCH 0/3] Updated patches to eliminate need for rtx_expr_list::insn (was Re: [PATCH 221/236] Add insn method to rtx_expr_list) David Malcolm
2014-08-26 15:54 ` [PATCH 2/3] Convert forced_labels from an EXPR_LIST to an INSN_LIST David Malcolm
2014-08-26 15:54 ` [PATCH 3/3] Use rtx_insn in more places in dwarf2cfi.c David Malcolm
2014-08-26 15:54 ` [PATCH 1/3] Convert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LIST David Malcolm
2014-08-26 16:25 ` [PATCH 0/3] Updated patches to eliminate need for rtx_expr_list::insn (was Re: [PATCH 221/236] Add insn method to rtx_expr_list) Richard Henderson
2014-08-06 17:42 ` [PATCH 023/236] delete_trivially_dead_insns works on insns David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:28 ` David Malcolm
2014-08-06 17:42 ` [PATCH 088/236] loop-invariant.c: Use rtx_insn in various places David Malcolm
2014-08-06 17:42 ` [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn David Malcolm
2014-08-13 13:44 ` Jeff Law
2014-08-13 17:11 ` David Malcolm
2014-08-13 17:13 ` Jeff Law
2014-08-26 7:03 ` [COMMITTED] Update rs6000.c's pass_analyze_swaps to use rtx_insn [was Re: [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn] David Malcolm
2014-08-19 19:58 ` [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn David Malcolm
2014-08-06 17:42 ` [PATCH 211/236] Introduce rtx_expr_list subclass of rtx_def David Malcolm
2014-08-06 17:42 ` [PATCH 044/236] Pass "insn" as an rtx_insn within generated get_attr_ fns in insn-attrtab.c David Malcolm
2014-08-13 18:07 ` Jeff Law
2014-08-21 10:14 ` David Malcolm
2014-08-06 17:42 ` [PATCH 214/236] rtl_data.x_stack_slot_list becomes an rtx_expr_list David Malcolm
2014-08-06 17:42 ` [PATCH 195/236] Convert PATTERN from a macro to a pair of inline functions David Malcolm
2014-08-06 18:03 ` Jakub Jelinek
2014-08-06 20:00 ` David Malcolm
2014-08-06 17:42 ` [PATCH 234/236] Strengthen params to active_insn_between David Malcolm
2014-08-06 17:42 ` [PATCH 128/236] config/arm: Use rtx_insn and rtx_code_label David Malcolm
2014-08-13 15:21 ` Richard Earnshaw
2014-08-06 17:42 ` [PATCH 041/236] Debug hooks: use " David Malcolm
2014-08-13 18:05 ` Jeff Law
2014-08-21 8:21 ` David Malcolm
2014-08-06 17:42 ` [PATCH 133/236] config/h8300: Use rtx_insn David Malcolm
2014-08-06 17:42 ` [PATCH 036/236] get_last_bb_insn returns an rtx_insn David Malcolm
2014-08-13 17:57 ` Jeff Law
2014-08-21 0:03 ` David Malcolm
2014-08-06 17:42 ` [PATCH 131/236] config/c6x: Use rtx_insn David Malcolm
2014-08-06 17:42 ` [PATCH 045/236] define_bypass guard functions take a pair of rtx_insn David Malcolm
2014-08-13 18:07 ` Jeff Law
2014-08-21 14:02 ` David Malcolm
2014-08-06 17:42 ` [PATCH 069/236] dwarf2cfi.c: Use rtx_insn David Malcolm
2014-08-06 17:42 ` [PATCH 207/236] reorg.c: Use rtx_sequence David Malcolm
2014-08-15 22:26 ` Jeff Law
2014-08-06 17:42 ` [PATCH 124/236] PHASE 3: Per-config subdir commits David Malcolm
2014-08-14 3:02 ` Jeff Law
2014-08-06 17:42 ` [PATCH 071/236] except.*: Use rtx_insn (also touches function.h) David Malcolm
2014-08-06 17:42 ` [PATCH 010/236] Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms David Malcolm
2014-08-12 21:17 ` Jeff Law
2014-08-19 0:56 ` David Malcolm
2014-08-06 17:43 ` [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain David Malcolm
2014-08-13 17:56 ` Jeff Law
2014-08-19 21:23 ` David Malcolm
2014-08-20 8:20 ` Andreas Schwab
2014-08-20 10:22 ` David Malcolm
2014-08-20 16:12 ` PR62203 (was Re: [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain) David Malcolm
2014-08-20 17:42 ` David Malcolm
2014-08-06 17:43 ` [PATCH 078/236] genpeep.c: peephole requires an rtx_insn David Malcolm
2014-08-06 17:43 ` [PATCH 196/236] Convert various INSN accessors in rtl.h to inline functions David Malcolm
2014-08-06 17:43 ` [PATCH 110/236] rtlanal.c: Use rtx_insn David Malcolm
2014-08-06 17:43 ` [PATCH 148/236] config/score/score.c: " David Malcolm
2014-08-06 17:43 ` [PATCH 115/236] sel-sched-ir.c: " David Malcolm
2014-08-06 17:43 ` [PATCH 070/236] dwarf2out.c: " David Malcolm
2014-08-06 17:43 ` [PATCH 098/236] postreload.c: Use rtx_insn (also touches rtl.h and cprop.c) David Malcolm
2014-08-06 17:43 ` [PATCH 161/236] reorder_insns requires rtx_insn * David Malcolm
2014-08-06 17:43 ` [PATCH 180/236] Params of add_insn and unlink_insn_chain David Malcolm
2014-08-06 17:43 ` [PATCH 235/236] Make next_insn and previous_insn require an rtx_insn * David Malcolm
2014-08-06 17:43 ` [PATCH 174/236] Remove VINSN_INSN_RTX scaffolding David Malcolm
2014-08-06 17:43 ` [PATCH 039/236] create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insn David Malcolm
2014-08-13 18:02 ` Jeff Law
2014-08-21 1:07 ` David Malcolm
2014-08-21 16:28 ` Mike Stump
2014-08-06 17:43 ` [PATCH 216/236] PHASE 6: Use extra rtx_def subclasses David Malcolm
2014-08-06 17:43 ` [PATCH 072/236] explow.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:43 ` [PATCH 024/236] last_call_insn returns an rtx_call_insn * David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:34 ` David Malcolm
2014-08-06 17:43 ` [PATCH 094/236] get_ebb_head_tail works with rtx_insn David Malcolm
2014-08-06 17:43 ` [PATCH 153/236] config/tilepro: Use rtx_insn David Malcolm
2014-08-06 17:44 ` [PATCH 139/236] config/mep: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:44 ` [PATCH 147/236] config/s390: " David Malcolm
2014-08-06 17:44 ` [PATCH 188/236] Use rtx_insn in more places in haifa-sched.c David Malcolm
2014-08-06 17:44 ` [PATCH 095/236] modulo-sched.c: Use rtx_insn in various places David Malcolm
2014-08-06 17:44 ` [PATCH 119/236] store-motion.c: Use rtx_insn David Malcolm
2014-08-06 17:44 ` [PATCH 184/236] Use rtx_insn in more places in sel-sched.c David Malcolm
2014-08-06 17:44 ` [PATCH 101/236] recog.c: Use rtx_insn David Malcolm
2014-08-06 17:44 ` [PATCH 033/236] emit_move et al return rtx_insn * David Malcolm
2014-08-13 17:54 ` Jeff Law
2014-08-19 20:55 ` David Malcolm
2014-08-06 17:44 ` [PATCH 073/236] expmed.c: Use rtx_insn and rtx_code_label David Malcolm
2014-08-06 17:44 ` [PATCH 100/236] print-rtl.c: Use rtx_insn for various debug_ functions (also touches config/rs6000/rs6000.c) David Malcolm
2014-08-06 17:44 ` [PATCH 163/236] unshare_all_rtl_again takes an rtx_insn * David Malcolm
2014-08-06 17:44 ` [PATCH 089/236] loop-iv.c: Use rtx_insn (also touches cfgloop.h and loop-unroll.c) David Malcolm
2014-08-06 17:44 ` [PATCH 106/236] regrename.c: Use rtx_insn David Malcolm
2014-08-06 17:44 ` [PATCH 051/236] bb-reorder.c: " David Malcolm
2014-08-13 18:16 ` Jeff Law
2014-08-06 17:44 ` [PATCH 052/236] bt-load.c: " David Malcolm
2014-08-06 17:44 ` [PATCH 011/236] Replace PREV_INSN et al macros with functions David Malcolm
2014-08-12 21:20 ` Jeff Law
2014-08-19 14:58 ` David Malcolm
2014-08-06 17:44 ` [PATCH 022/236] Make tablejump_p accept a rtx_jump_table_data ** David Malcolm
2014-08-13 4:50 ` Jeff Law
2014-08-19 19:21 ` David Malcolm
2014-08-06 17:44 ` [PATCH 172/236] sel-sched-ir.h: Make ilist_t work on insn_t rather than rtx David Malcolm
2014-08-06 17:44 ` [PATCH 228/236] tablejump_p takes an rtx_insn David Malcolm
2014-08-19 20:59 ` Richard Henderson
2014-08-06 17:44 ` [PATCH 031/236] emit_jump_table_data returns an rtx_jump_table_data * David Malcolm
2014-08-13 13:45 ` Jeff Law
2014-08-19 20:23 ` David Malcolm
2014-08-06 17:45 ` [PATCH 105/236] reginfo.c: Use rtx_insn (also touches rtl.h) David Malcolm
2014-08-06 17:45 ` [PATCH 093/236] mode-switching.c: Use rtx_insn David Malcolm
2014-08-06 17:45 ` [PATCH 097/236] postreload-gcse.c: Use rtx_insn in various places David Malcolm
2014-08-06 17:45 ` [PATCH 183/236] Strengthen various insn emission functions David Malcolm
2014-08-06 17:45 ` [PATCH 075/236] final.c: Use rtx_insn (also touches output.c and config/arc/arc.c) David Malcolm
2014-08-13 19:47 ` Jeff Law
2014-08-06 17:45 ` [PATCH 053/236] builtins.c: strengthen various rtx to rtx_insn * and other subclasses David Malcolm
2014-08-06 17:45 ` [PATCH 043/236] peephole returns an rtx_insn David Malcolm
2014-08-13 18:06 ` Jeff Law
2014-08-21 9:40 ` David Malcolm
2014-08-06 17:45 ` [PATCH 158/236] Remove BB_FOOTER scaffolding David Malcolm
2014-08-06 17:45 ` [PATCH 046/236] delete_related_insns returns an rtx_insn David Malcolm
2014-08-13 18:10 ` Jeff Law
2014-08-21 15:01 ` David Malcolm
2014-08-06 17:45 ` [PATCH 091/236] lower-subreg.c: Use rtx_insn David Malcolm
2014-08-06 17:45 ` [PATCH 057/236] cfgcleanup.c: Use rtx_insn (also touches basic-block.h and ifcvt.c) David Malcolm
2014-08-13 18:23 ` Jeff Law
2014-08-06 18:02 ` [PATCH 160/236] function.c and shrink-wrap.*: more rtx_insn David Malcolm
2014-08-06 18:02 ` [PATCH 126/236] config/alpha/alpha.c: Use rtx_insn David Malcolm
2014-08-06 18:02 ` [PATCH 176/236] cselib and incdec David Malcolm
2014-08-06 18:02 ` [PATCH 014/236] VINSN_INSN_RTX scaffolding David Malcolm
2014-08-12 21:21 ` Jeff Law
2014-08-19 15:46 ` David Malcolm
2014-08-06 18:02 ` [PATCH 197/236] Tweak to ira-lives.c David Malcolm
2014-08-06 18:02 ` [PATCH 064/236] cprop.c: Use rtx_insn David Malcolm
2014-08-06 18:02 ` [PATCH 198/236] PHASE 5: Additional rtx subclasses David Malcolm
2014-08-06 18:02 ` [PATCH 060/236] cfgrtl.c: Use " David Malcolm
2014-08-13 18:28 ` Jeff Law
2014-08-06 18:02 ` [PATCH 190/236] Remove insn_addresses_new from 'various scheduling strengthenings' David Malcolm
2014-08-13 19:40 ` David Malcolm
2014-08-13 20:25 ` Jeff Law
2014-08-06 18:02 ` [PATCH 152/236] config/tilegx: Use rtx_insn David Malcolm
2014-08-06 18:03 ` [PATCH 208/236] resource.c: Use rtx_sequence David Malcolm
2014-08-06 18:03 ` [PATCH 062/236] combine-stack-adj.c: Use rtx_insn David Malcolm
2014-08-06 18:04 ` [PATCH 135/236] config/i386/i386: " David Malcolm
2014-08-06 18:04 ` [PATCH 129/236] config/avr: " David Malcolm
2014-08-06 18:04 ` [PATCH 154/236] config/v850: " David Malcolm
2014-08-06 18:04 ` [PATCH 037/236] sel_bb_{head|end} return rtx_insn David Malcolm
2014-08-13 18:00 ` Jeff Law
2014-08-21 0:08 ` David Malcolm
2014-08-06 18:04 ` [PATCH 113/236] sched-rgn.c: Use rtx_insn in a couple of places David Malcolm
2014-08-06 18:04 ` [PATCH 059/236] cfgloopanal.c: Use rtx_insn David Malcolm
2014-08-06 18:04 ` [PATCH 210/236] varasm.c: Use rtx_sequence David Malcolm
2014-08-06 18:05 ` David Malcolm [this message]
2014-08-06 18:05 ` [PATCH 118/236] stmt.c: Use rtx_insn David Malcolm
2014-08-06 18:05 ` [PATCH 050/236] auto-inc-dec.c: strengthen various rtx to rtx_insn * David Malcolm
2014-08-13 18:14 ` Jeff Law
2014-08-06 18:05 ` [PATCH 079/236] gcse.c: Use rtx_insn David Malcolm
2014-08-06 18:05 ` [PATCH 167/236] final accepts an rtx_insn David Malcolm
2014-08-06 18:05 ` [PATCH 038/236] find_first_parameter_load returns " David Malcolm
2014-08-13 18:01 ` Jeff Law
2014-08-21 1:00 ` David Malcolm
2014-08-06 18:06 ` [PATCH 083/236] init-regs.c: rtx_insn David Malcolm
2014-08-07 10:31 ` [PATCH 000/236] Introduce rtx subclasses Trevor Saunders
2014-08-12 20:39 ` Jeff Law
2014-08-13 0:29 ` David Malcolm
2014-08-13 13:59 ` Jeff Law
2014-08-18 19:18 ` David Malcolm
2014-08-14 0:16 ` David Malcolm
2014-08-14 16:32 ` David Malcolm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1407345815-14551-174-git-send-email-dmalcolm@redhat.com \
--to=dmalcolm@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).