projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use corresponding macro.
[libfirm]
/
ir
/
ir
/
iropt_t.h
diff --git
a/ir/ir/iropt_t.h
b/ir/ir/iropt_t.h
index
745bde8
..
db63ff4
100644
(file)
--- a/
ir/ir/iropt_t.h
+++ b/
ir/ir/iropt_t.h
@@
-26,6
+26,7
@@
#ifndef FIRM_IR_IROPT_T_H
#define FIRM_IR_IROPT_T_H
#ifndef FIRM_IR_IROPT_T_H
#define FIRM_IR_IROPT_T_H
+#include <stdbool.h>
#include "irop_t.h"
#include "iropt.h"
#include "irnode_t.h"
#include "irop_t.h"
#include "iropt.h"
#include "irnode_t.h"
@@
-51,21
+52,20
@@
ir_node *equivalent_node(ir_node *n);
/**
* Creates a new value table used for storing CSE identities.
* The value table is used to identify common expressions.
/**
* Creates a new value table used for storing CSE identities.
* The value table is used to identify common expressions.
- *
*/
*/
-
pset *new_identities(void
);
+
void new_identities(ir_graph *irg
);
/**
* Deletes a identities value table.
*
* @param value_table the identity set
*/
/**
* Deletes a identities value table.
*
* @param value_table the identity set
*/
-void del_identities(
pset *value_table
);
+void del_identities(
ir_graph *irg
);
/**
* Add a node to the identities value table.
*/
/**
* Add a node to the identities value table.
*/
-void add_identities(
pset *value_table,
ir_node *node);
+void add_identities(ir_node *node);
/**
* Compare function for two nodes in the hash table. Gets two
/**
* Compare function for two nodes in the hash table. Gets two
@@
-78,11
+78,19
@@
int identities_cmp(const void *elt, const void *key);
* Looks up the node in a hash table, enters it in the table
* if it isn't there yet.
*/
* Looks up the node in a hash table, enters it in the table
* if it isn't there yet.
*/
-ir_node *identify_remember(
pset *value_table,
ir_node *n);
+ir_node *identify_remember(ir_node *n);
/** Visit each node in the value table of a graph. */
void visit_all_identities(ir_graph *irg, irg_walk_func visit, void *env);
/** Visit each node in the value table of a graph. */
void visit_all_identities(ir_graph *irg, irg_walk_func visit, void *env);
+/**
+ * Normalize a node by putting constants (and operands with larger
+ * node index) on the right (operator side).
+ *
+ * @param n The node to normalize
+ */
+void ir_normalize_node(ir_node *n);
+
ir_node *optimize_node(ir_node *n);
ir_node *optimize_in_place_2(ir_node *n);
ir_node *optimize_node(ir_node *n);
ir_node *optimize_in_place_2(ir_node *n);
@@
-93,7
+101,7
@@
ir_node *optimize_in_place_2(ir_node *n);
* returning tarval_bad otherwise.
* No calculations are done here, just a lookup.
*/
* returning tarval_bad otherwise.
* No calculations are done here, just a lookup.
*/
-typedef tarval *(*value_of_func)(const ir_node *self);
+typedef
ir_
tarval *(*value_of_func)(const ir_node *self);
extern value_of_func value_of_ptr;
extern value_of_func value_of_ptr;
@@
-107,8
+115,8
@@
void set_value_of_func(value_of_func func);
/**
* Returns the associated tarval of a node.
*/
/**
* Returns the associated tarval of a node.
*/
-static inline
tarval *
-
value_of(const ir_node *n)
{
+static inline
ir_tarval *value_of(const ir_node *n)
+{
return value_of_ptr(n);
}
return value_of_ptr(n);
}
@@
-121,6
+129,6
@@
value_of(const ir_node *n) {
* @return
* The operations.
*/
* @return
* The operations.
*/
-ir_op_ops *firm_set_default_operations(
ir_opcode
code, ir_op_ops *ops);
+ir_op_ops *firm_set_default_operations(
unsigned
code, ir_op_ops *ops);
#endif
#endif