+#define phase_set_irn_data(phase, irn, data) _phase_set_irn_data((phase), (irn), (data))
+
+/**
+ * Get the irg-managed phase for a givedn phase ID.
+ * @param irg The irg.
+ * @param id The ID.
+ * @return The corresponding phase, or NULL if there is none.
+ */
+#define get_irg_phase(irg, id) _get_irg_phase((irg), (id))
+
+/**
+ * Get the information a phase holds about a node.
+ * @param irn The node.
+ * @param id The ID of the phase.
+ */
+#define get_irn_phase_info(irn, id) _get_phase_irn_info((irn), (id))
+
+/**
+ * Get or set information a phase holds about a node.
+ * If the given phase does not hold information of the node,
+ * the information structure will be created, initialized (see the data_init function of ir_phase), and returned.
+ * @param irn The node.
+ * @param id The ID of the phase.
+ */
+#define get_or_set_irn_phase_info(irn, id) _get_or_set_irn_phase_info((irn), (id))
+
+#define set_irn_phase_info(irn, id) _set_irn_phase_info((irn), (id))
+
+/**
+ * This is private and only here for performance reasons.
+ */
+static INLINE void _phase_reinit_single_irn_data(ir_phase *phase, ir_node *irn)
+{
+ int idx;
+
+ if (! phase->data_init)
+ return;
+
+ idx = get_irn_idx(irn);
+ if (phase->data_ptr[idx])
+ phase->data_init(phase, irn, phase->data_ptr[idx]);
+}
+