DEP_PRO/DEP_CON scaffolding
gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will eventually be rtx_insn *, but to help with transition, for now, convert from an access macro into a pair of functions: DEP_PRO returning an rtx_insn * and... (SET_DEP_PRO): New function, for use where DEP_PRO is used as an lvalue, returning an rtx&. (DEP_CON): Analogous changes to DEP_PRO above. (SET_DEP_CON): Likewise. * haifa-sched.c (create_check_block_twin): Replace DEP_CON used as an lvalue to SET_DEP_CON. * sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON. (sd_copy_back_deps): Likewise for DEP_CON. (DEP_PRO): New function, adding a checked cast for now. (DEP_CON): Likewise. (SET_DEP_PRO): New function. (SET_DEP_CON): Likewise. / 2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON. From-SVN: r214164
This commit is contained in:
parent
1ed3ba0549
commit
d914bc6b3a
6 changed files with 53 additions and 6 deletions
|
@ -1,3 +1,7 @@
|
|||
2014-08-19 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON.
|
||||
|
||||
2014-08-19 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* rtx-classes-status.txt (TODO): Add DF_REF_INSN.
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
2014-08-19 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
|
||||
eventually be rtx_insn *, but to help with transition, for now,
|
||||
convert from an access macro into a pair of functions: DEP_PRO
|
||||
returning an rtx_insn * and...
|
||||
(SET_DEP_PRO): New function, for use where DEP_PRO is used as an
|
||||
lvalue, returning an rtx&.
|
||||
(DEP_CON): Analogous changes to DEP_PRO above.
|
||||
(SET_DEP_CON): Likewise.
|
||||
|
||||
* haifa-sched.c (create_check_block_twin): Replace DEP_CON used as
|
||||
an lvalue to SET_DEP_CON.
|
||||
* sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON.
|
||||
(sd_copy_back_deps): Likewise for DEP_CON.
|
||||
(DEP_PRO): New function, adding a checked cast for now.
|
||||
(DEP_CON): Likewise.
|
||||
(SET_DEP_PRO): New function.
|
||||
(SET_DEP_CON): Likewise.
|
||||
|
||||
2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
|
||||
|
||||
* config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
|
||||
|
|
|
@ -7947,7 +7947,7 @@ create_check_block_twin (rtx insn, bool mutate_p)
|
|||
|
||||
if (rec != EXIT_BLOCK_PTR_FOR_FN (cfun))
|
||||
{
|
||||
DEP_CON (new_dep) = twin;
|
||||
SET_DEP_CON (new_dep) = twin;
|
||||
sd_add_dep (new_dep, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -103,8 +103,8 @@ dk_to_ds (enum reg_note dk)
|
|||
void
|
||||
init_dep_1 (dep_t dep, rtx pro, rtx con, enum reg_note type, ds_t ds)
|
||||
{
|
||||
DEP_PRO (dep) = pro;
|
||||
DEP_CON (dep) = con;
|
||||
SET_DEP_PRO (dep) = pro;
|
||||
SET_DEP_CON (dep) = con;
|
||||
DEP_TYPE (dep) = type;
|
||||
DEP_STATUS (dep) = ds;
|
||||
DEP_COST (dep) = UNKNOWN_DEP_COST;
|
||||
|
@ -1416,7 +1416,7 @@ sd_copy_back_deps (rtx to, rtx from, bool resolved_p)
|
|||
dep_def _new_dep, *new_dep = &_new_dep;
|
||||
|
||||
copy_dep (new_dep, dep);
|
||||
DEP_CON (new_dep) = to;
|
||||
SET_DEP_CON (new_dep) = to;
|
||||
sd_add_dep (new_dep, resolved_p);
|
||||
}
|
||||
}
|
||||
|
@ -4915,4 +4915,24 @@ find_modifiable_mems (rtx head, rtx tail)
|
|||
success_in_block);
|
||||
}
|
||||
|
||||
rtx_insn *DEP_PRO (dep_t dep)
|
||||
{
|
||||
return safe_as_a <rtx_insn *> (dep->pro);
|
||||
}
|
||||
|
||||
rtx_insn *DEP_CON (dep_t dep)
|
||||
{
|
||||
return safe_as_a <rtx_insn *> (dep->con);
|
||||
}
|
||||
|
||||
rtx& SET_DEP_PRO (dep_t dep)
|
||||
{
|
||||
return dep->pro;
|
||||
}
|
||||
|
||||
rtx& SET_DEP_CON (dep_t dep)
|
||||
{
|
||||
return dep->con;
|
||||
}
|
||||
|
||||
#endif /* INSN_SCHEDULING */
|
||||
|
|
|
@ -250,8 +250,10 @@ struct _dep
|
|||
typedef struct _dep dep_def;
|
||||
typedef dep_def *dep_t;
|
||||
|
||||
#define DEP_PRO(D) ((D)->pro)
|
||||
#define DEP_CON(D) ((D)->con)
|
||||
extern rtx_insn *DEP_PRO (dep_t dep);
|
||||
extern rtx_insn *DEP_CON (dep_t dep);
|
||||
extern rtx& SET_DEP_PRO (dep_t dep);
|
||||
extern rtx& SET_DEP_CON (dep_t dep);
|
||||
#define DEP_TYPE(D) ((D)->type)
|
||||
#define DEP_STATUS(D) ((D)->status)
|
||||
#define DEP_COST(D) ((D)->cost)
|
||||
|
|
|
@ -16,4 +16,5 @@ TODO: "Scaffolding" to be removed
|
|||
=================================
|
||||
* DF_REF_INSN
|
||||
* SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER
|
||||
* SET_DEP_PRO, SET_DEP_CON
|
||||
* SET_NEXT_INSN, SET_PREV_INSN
|
||||
|
|
Loading…
Add table
Reference in a new issue