Remove classify_tarval(). Use tarval_is_null(), tarval_is_one() and tarval_is_all_one...
[libfirm] / ir / be / ia32 / ia32_new_nodes.h
index ba7216a..c6d6843 100644 (file)
 #include "firm_config.h"
 #include "ia32_nodes_attr.h"
 
+/** indices for AM inputs */
+enum {
+       n_ia32_base         = 0,
+       n_ia32_index        = 1,
+       n_ia32_mem          = 2,
+       n_ia32_unary_op     = 3,
+       n_ia32_binary_left  = 3,
+       n_ia32_binary_right = 4
+};
+
+/** proj numbers for "normal" one-result nodes (for the complicated cases where we not only
+ * need the result) */
+enum {
+       pn_ia32_res   = 0,
+       pn_ia32_mem   = 1,
+       pn_ia32_flags = 2
+};
+
 /***************************************************************************************************
  *        _   _                   _       __        _                    _   _               _
  *       | | | |                 | |     / /       | |                  | | | |             | |
@@ -144,6 +162,11 @@ void clear_ia32_use_frame(ir_node *node);
  */
 int is_ia32_use_frame(const ir_node *node);
 
+/**
+ * copies all address-mode attributes from one node to the other
+ */
+void ia32_copy_am_attrs(ir_node *to, const ir_node *from);
+
 /**
  * Sets node to commutative.
  */