+/**
+ * Generate the problem. Collect all information and optimizable nodes.
+ */
+copy_opt_t *new_copy_opt(be_chordal_env_t *chordal_env, cost_fct_t get_costs);
+
+/**
+ * Free the space used...
+ */
+void free_copy_opt(copy_opt_t *co);
+
+/**
+ * Checks if a node is optimizable, viz. has somthing to do with coalescing
+ * @param arch The architecture environment
+ * @param irn The irn to check
+ * @param req A register_requirement structure (used to check for 2-addr-code)
+ */
+int co_is_optimizable_root(const copy_opt_t *co, ir_node *irn);
+
+/**
+ * Checks if the irn is a non-interfering argument of a node which 'is_optimizable'
+ */
+int co_is_optimizable_arg(const copy_opt_t *co, ir_node *irn);