make schedule dumper more robust/cleanup
[libfirm] / include / libfirm / iropt.h
index 53ed43a..a211cda 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief   iropt --- optimizations of an ir node.
  * @author  Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
  */
 #ifndef FIRM_IR_IROPT_H
 #define FIRM_IR_IROPT_H
 #include "firm_types.h"
 #include "begin.h"
 
+/**
+ * @ingroup iroptimize
+ * @defgroup iropt  Local Optimizations
+ * @{
+ */
+
 /**
  * The Floating point model.
  *
@@ -79,7 +84,7 @@ typedef enum fp_model_t {
 /** If the expression referenced can be evaluated statically
  *  computed_value returns a tarval representing the result.
  *  Else returns tarval_bad. */
-FIRM_API tarval *computed_value(const ir_node *n);
+FIRM_API ir_tarval *computed_value(const ir_node *n);
 
 /** Applies all optimizations to n that are expressible as a pattern
  *  in Firm, i.e., they need not a walk of the graph.
@@ -91,6 +96,20 @@ FIRM_API tarval *computed_value(const ir_node *n);
  */
 FIRM_API ir_node *optimize_in_place(ir_node *n);
 
+/**
+ * checks whether 1 value is the negated other value
+ */
+FIRM_API int ir_is_negated_value(const ir_node *a, const ir_node *b);
+
+/**
+ * (conservatively) approximates all possible relations when comparing
+ * the value @p left and @p right
+ */
+FIRM_API ir_relation ir_get_possible_cmp_relations(const ir_node *left,
+                                                   const ir_node *right);
+
+/** @} */
+
 #include "end.h"
 
 #endif