+/**
+ * Returns the "thread local storage" type of the irp.
+ * Upon creation this is an empty struct type.
+ */
+ir_type *get_tls_type(void);
+
+/** Adds type to the list of types in irp. */
+void add_irp_type(ir_type *typ);
+
+/** Removes type from the list of types, deallocates it and
+ shrinks the list by one. */
+void remove_irp_type(ir_type *typ);
+
+/** Returns the number of all types in the irp. */
+int get_irp_n_types(void);
+
+/** Returns the type at position pos in the irp. */
+ir_type *get_irp_type(int pos);
+
+/** Overwrites the type at position pos with another type. */
+void set_irp_type(int pos, ir_type *typ);
+
+/** Returns the number of all modes in the irp. */
+int get_irp_n_modes(void);
+
+/** Returns the mode at position pos in the irp. */
+ir_mode *get_irp_mode(int pos);
+
+/** Adds opcode to the list of opcodes in irp. */
+void add_irp_opcode(ir_op *opcode);
+
+/** Removes opcode from the list of opcodes, deallocates it and
+ shrinks the list by one. */
+void remove_irp_opcode(ir_op *opcode);
+
+/** Returns the number of all opcodes in the irp. */
+int get_irp_n_opcodes(void);
+
+/** Returns the opcode at position pos in the irp. */
+ir_op *get_irp_opcode(int pos);
+
+/** Sets the generic function pointer of all opcodes to NULL */
+void clear_irp_opcodes_generic_func(void);
+
+
+/** Return the graph for global constants.