+2014-08-19 David Malcolm <dmalcolm@redhat.com>
+
+ * rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX.
+
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>
+
+ * 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 <dmalcolm@redhat.com>
* sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
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;
SET_LOOP_PREHEADER_BLOCKS (loop_outer (current_loop_nest),
preheader_blocks);
}
+
+rtx_insn *VINSN_INSN_RTX (vinsn_t vi)
+{
+ return safe_as_a <rtx_insn *> (vi->insn_rtx);
+}
+
+rtx& SET_VINSN_INSN_RTX (vinsn_t vi)
+{
+ return vi->insn_rtx;
+}
+
#endif
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))
* 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