* @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.
*
/** 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.
*/
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