Index: ChangeLog =================================================================== --- ChangeLog (revision 214164) +++ ChangeLog (revision 214165) @@ -1,5 +1,9 @@ 2014-08-19 David Malcolm + * rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX. + +2014-08-19 David Malcolm + * rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON. 2014-08-19 David Malcolm Index: rtx-classes-status.txt =================================================================== --- rtx-classes-status.txt (revision 214164) +++ rtx-classes-status.txt (revision 214165) @@ -18,3 +18,4 @@ * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER * SET_DEP_PRO, SET_DEP_CON * SET_NEXT_INSN, SET_PREV_INSN +* SET_VINSN_INSN_RTX Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 214164) +++ gcc/ChangeLog (revision 214165) @@ -1,5 +1,19 @@ 2014-08-19 David Malcolm + * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx" + field will eventually be an rtx_insn *. To help with transition, + for now, convert from an access macro into a pair of functions: + VINSN_INSN_RTX, returning an rtx_insn *, and... + (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX + is used as an lvalue. + + * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with + SET_VINSN_INSN_RTX where it's used as an lvalue. + (VINSN_INSN_RTX): New function. + (SET_VINSN_INSN_RTX): New function. + +2014-08-19 David Malcolm + * 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 Index: gcc/sel-sched-ir.c =================================================================== --- gcc/sel-sched-ir.c (revision 214164) +++ gcc/sel-sched-ir.c (revision 214165) @@ -1179,7 +1179,7 @@ hash_rtx_callback_function hrcf; int insn_class; - VINSN_INSN_RTX (vi) = insn; + SET_VINSN_INSN_RTX (vi) = insn; VINSN_COUNT (vi) = 0; vi->cost = -1; @@ -6441,4 +6441,15 @@ SET_LOOP_PREHEADER_BLOCKS (loop_outer (current_loop_nest), preheader_blocks); } + +rtx_insn *VINSN_INSN_RTX (vinsn_t vi) +{ + return safe_as_a (vi->insn_rtx); +} + +rtx& SET_VINSN_INSN_RTX (vinsn_t vi) +{ + return vi->insn_rtx; +} + #endif Index: gcc/sel-sched-ir.h =================================================================== --- gcc/sel-sched-ir.h (revision 214164) +++ gcc/sel-sched-ir.h (revision 214165) @@ -645,7 +645,8 @@ bool may_trap_p; }; -#define VINSN_INSN_RTX(VI) ((VI)->insn_rtx) +extern rtx_insn *VINSN_INSN_RTX (vinsn_t); +extern rtx& SET_VINSN_INSN_RTX (vinsn_t); #define VINSN_PATTERN(VI) (PATTERN (VINSN_INSN_RTX (VI))) #define VINSN_ID(VI) (&((VI)->id))