Use ia32_copy_am_attrs() for splitting IMul reg, mem, imm and also reset base and...
[libfirm] / ir / debug / dbginfo.c
index 9ed9658..178ce44 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.
  *
@@ -69,6 +69,8 @@ const char *dbg_action_2_str(dbg_action a) {
        CASE(dbg_rem_poly_call);
        CASE(dbg_dead_code);
        CASE(dbg_opt_confirm);
+       CASE(dbg_gvn_pre);
+       CASE(dbg_combo);
        CASE(dbg_backend);
        default:
                if (a <= dbg_max)
@@ -101,3 +103,20 @@ void default_dbg_info_merge_sets(ir_node **new_nodes, int n_new_nodes,
                                set_irn_dbg_info(new_nodes[i], old_db);
        }
 }  /* default_dbg_info_merge_sets */
+
+/** The debug info retriever function. */
+static retrieve_dbg_func retrieve_dbg = NULL;
+
+/* Sets a debug info retriever. */
+void ir_set_debug_retrieve(retrieve_dbg_func func) {
+       retrieve_dbg = func;
+}
+
+/* Retrieve the debug info. */
+const char *ir_retrieve_dbg_info(const dbg_info *dbg, unsigned *line) {
+       if (retrieve_dbg)
+               return retrieve_dbg(dbg, line);
+
+       *line = 0;
+       return NULL;
+}