- C99 feature removed
[libfirm] / include / libfirm / dbginfo.h
index ce8441d..d92482a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -85,6 +85,9 @@ typedef enum {
        dbg_rem_poly_call,            /**< Remove polymorphic call. */
        dbg_dead_code,                /**< Removing unreachable code, I.e. blocks that are never executed. */
        dbg_opt_confirm,              /**< A Firm subgraph was replace because of a Confirmation. */
+       dbg_gvn_pre,                  /**< A Firm node was replace because of the GVN-PRE algorithm. */
+       dbg_combo,                    /**< A Firm node was replace because of the combo algorithm. */
+       dbg_cond_eval,                /**< A Firm node was replace because of the conditional evaluation algorithm. */
        dbg_backend,                  /**< A Firm subgraph was replaced because of a Backend transformation */
        dbg_max                       /**< Maximum value. */
 } dbg_action;
@@ -195,6 +198,21 @@ void default_dbg_info_merge_sets(ir_node **new_nodes, int n_new_nodes,
 
 /** @} */
 
+/** The type of the debug info retriever function. */
+typedef const char *(*retrieve_dbg_func)(const dbg_info *dbg, unsigned *line);
+
+/**
+ * Sets a debug info retriever.
+ *
+ * @param func   the debug retriever function.
+ */
+void ir_set_debug_retrieve(retrieve_dbg_func func);
+
+/**
+ * Retrieve the debug info.
+ */
+const char *ir_retrieve_dbg_info(const dbg_info *dbg, unsigned *line);
+
 #ifdef __cplusplus
 }
 #endif