renamed all type * to ir_type *
[libfirm] / ir / ir / irvrfy.h
index 7c08056..4597daa 100644 (file)
@@ -65,13 +65,26 @@ int irn_vrfy_irg(struct ir_node *checknode, ir_graph *irg);
 int irn_vrfy_irg_dump(struct ir_node *checknode, ir_graph *irg, const char **bad_string);
 
 /**
- * Calls irn_vrfy for each node in irg.
+ * Flags for irg_verify().
+ */
+typedef enum _irg_verify_flags_t {
+  VRFY_NORMAL      = 0,      /**< check SSA property only if dominance information is available */
+  VRFY_ENFORCE_SSA = 1       /**< check SSA property by enforcing the dominance information recalculation */
+} irg_verify_flags_t;
+
+/**
+ * Calls irn_vrfy() for each node in irg.
  * Graph must be in state "op_pin_state_pinned".
  *
  * \return
  *     NON-zero on success.
  */
-int irg_vrfy(ir_graph *irg);
+int irg_verify(ir_graph *irg, unsigned flags);
+
+/**
+ * Compatibility macro. Deprecated soon.
+ */
+#define irg_vrfy(irg) irg_verify(irg, 0)
 
 /**
  * Possible flags for irg_vrfy_bads().
@@ -93,4 +106,11 @@ enum verify_bad_flags_t {
  */
 int irg_vrfy_bads(ir_graph *irg, int flags);
 
+/**
+ *  Enable/disable verification of Load/Store nodes with
+ *  its entities. If disabled, Store(SymConst(array)) will be allowed
+ *  (C-frontend builds this :-)
+ */
+void vrfy_enable_entity_tests(int enable);
+
 # endif /* _IRVRFY_H_ */