bestack: Fetch the start block only once.
[libfirm] / ir / be / beverify.h
index 3eae1b3..aa2b9bb 100644 (file)
  * @brief       Various verify routines that check a scheduled graph for correctness.
  * @author      Matthias Braun
  * @date        05.05.2006
- * @version     $Id$
  */
 #ifndef FIRM_BE_BEVERIFY_H
 #define FIRM_BE_BEVERIFY_H
 
+#include <stdbool.h>
 #include "irgraph.h"
 
-#include "beirg.h"
 #include "bearch.h"
 
 /**
  *
  * @param irg        The irg to check.
  * @param cls        The register class to check.
- * @return           1 if the pressure is valid, 0 otherwise.
+ * @return           true if the pressure is valid, false otherwise.
  */
-int be_verify_register_pressure(ir_graph *irg,
-                                const arch_register_class_t* cls);
+bool be_verify_register_pressure(ir_graph *irg,
+                                 const arch_register_class_t* cls);
 
 /**
  * Does some sanity checks on the schedule.
  *
  * @param irg   The irg to check
- * @return      1 if the schedule is valid, 0 otherwise
+ * @return      true if the schedule is valid, false otherwise
  */
-int be_verify_schedule(ir_graph *irg);
+bool be_verify_schedule(ir_graph *irg);
 
 /**
  * Verify spillslots
  *
  * @param irg   The irg to check
- * @return      1 if spillslots are valid, 0 otherwise
+ * @return      true if spillslots are valid, false otherwise
  */
-int be_verify_spillslots(ir_graph *irg);
+bool be_verify_spillslots(ir_graph *irg);
 
 /**
  * Verify register allocation: Checks that no 2 live nodes have the same
@@ -65,8 +64,13 @@ int be_verify_spillslots(ir_graph *irg);
  * assigned.
  *
  * @param irg   The graph to check
- * @return      1 if verify succeeded, 0 otherwise
+ * @return      true if verify succeeded, false otherwise
  */
-int be_verify_register_allocation(ir_graph *irg);
+bool be_verify_register_allocation(ir_graph *irg);
+
+/**
+ * Check the given liveness information against a freshly computed one.
+ */
+void be_liveness_check(be_lv_t *lv);
 
 #endif