#include "array.h"
-/** Adds mode to the list of modes in irp. */
-void add_irp_mode(ir_mode *mode);
-
/* inline functions */
static inline ir_type *get_segment_type_(ir_segment_t segment)
{
return irp->types[pos];
}
-static inline size_t get_irp_n_modes_(void)
-{
- assert(irp->modes);
- return ARR_LEN(irp->modes);
-}
-
-static inline ir_mode *get_irp_mode_(size_t pos)
-{
- assert(irp && irp->modes);
- return irp->modes[pos];
-}
-
/** Returns a new, unique number to number nodes or the like. */
static inline long get_irp_new_node_nr(void)
{
return ++irp->last_label_nr;
}
-/** Whether optimizations should dump irgs */
-static inline int get_irp_optimization_dumps_(void)
-{
- assert(irp);
- return irp->optimization_dumps;
-}
-
-/** Set optimizations to dump irgs */
-static inline void enable_irp_optimization_dumps_(void)
-{
- assert(irp);
- irp->optimization_dumps = 1;
-}
-
void set_irp_ip_outedges(ir_node ** ip_outedges);
ir_node** get_irp_ip_outedges(void);
shrinks the list by one. */
void remove_irp_type(ir_type *typ);
+/** Adds irg to the list of ir graphs in the current irp. */
+FIRM_API void add_irp_irg(ir_graph *irg);
+
+/** Removes irg from the list of irgs and
+ shrinks the list by one. */
+FIRM_API void remove_irp_irg(ir_graph *irg);
+
/* Inline functions. */
#define get_irp_n_irgs() get_irp_n_irgs_()
#define get_irp_irg(pos) get_irp_irg_(pos)
#define get_irp_n_types() get_irp_n_types_()
#define get_irp_type(pos) get_irp_type_(pos)
-#define get_irp_n_modes() get_irp_n_modes_()
-#define get_irp_mode(pos) get_irp_mode_(pos)
#define get_const_code_irg() get_const_code_irg_()
#define get_segment_type(s) get_segment_type_(s)
#define get_glob_type() get_glob_type_()
#define get_tls_type() get_tls_type_()
#define get_irp_next_label_nr() get_irp_next_label_nr_()
-#define get_irp_optimization_dumps() get_irp_optimization_dumps_()
-#define enable_irp_optimization_dumps() enable_irp_optimization_dumps_()
#endif