beifg: Simplify the quite complicated way to divide a number by 2 in be_ifg_stat().
[libfirm] / ir / debug / debugger.h
index f199e47..f78e9c2 100644 (file)
@@ -1,16 +1,21 @@
 /*
- * Project:     libFIRM
- * File name:   ir/debug/debugger.h
- * Purpose:     Helper function for integerated debug support
- * Author:      Michael Beck
- * Modified by:
- * Created:     2005
- * CVS-ID:      $Id$
- * Copyright:   (c) 2001-2005 Universität Karlsruhe
- * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
+ * This file is part of libFirm.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
-#ifndef __DEBUGGER_H__
-#define __DEBUGGER_H__
+
+/**
+ * @file
+ * @brief     Helper function for integrated debug support
+ * @author    Michael Beck
+ * @date      2005
+ */
+#ifndef FIRM_DEBUG_DEBUGGER_H
+#define FIRM_DEBUG_DEBUGGER_H
+
+#include "firm_types.h"
+
+/** Break into the debugger. */
+void firm_debug_break(void);
 
 /**
  * High level function to use from debugger interface
@@ -24,4 +29,45 @@ void firm_break(const char *cmd);
 /** Creates the debugger tables. */
 void firm_init_debugger(void);
 
-#endif /* __DEBUGGER_H__ */
+void firm_finish_debugger(void);
+
+/**
+ * @defgroup external_debug    helper functions for debuggers
+ *
+ * @{
+ */
+
+/**
+ * Returns non-zero, if the debug extension is active
+ */
+int firm_debug_active(void);
+
+/**
+ * Return the content of the debug text buffer.
+ *
+ * To be called from the debugger.
+ */
+const char *firm_debug_text(void);
+
+/**
+ * A gdb helper function to print tarvals.
+ */
+const char *gdb_tarval_helper(void *tv_object);
+
+/**
+ * A gdb helper to print all (new-style-) out edges of a node
+ */
+const char *gdb_out_edge_helper(const ir_node *node);
+
+/**
+ * High level function to use from debugger interface
+ *
+ * See show_commands() for supported commands.
+ */
+void firm_debug(const char *cmd);
+
+/**
+ * @}
+ */
+
+#endif