/*
- * 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.
*
* @author Goetz Lindenmaier, Michael Beck
* @date 2001
* @version $Id$
- * @summary
+ * @brief
* Firm requires a debugging module fulfilling this interface, else no
* debugging information is passed to the backend.
* The interface requires a datatype representing the debugging
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_jumpthreading, /**< A Firm node was replace because of the jumpthreading algorithm. */
dbg_backend, /**< A Firm subgraph was replaced because of a Backend transformation */
dbg_max /**< Maximum value. */
} dbg_action;
/** @} */
+/** 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