+/**
+ * Type definitions for ia32 node attributes.
+ * @author Christian Wuerdig
+ * $Id$
+ */
+
#ifndef _IA32_NODES_ATTR_H_
#define _IA32_NODES_ATTR_H_
unsigned emit_cl:1; /**< indicates whether we must emit cl instead of ecx (needed for shifts) */
- unsigned n_res:8; /**< number of results produced by this node */
+ unsigned got_lea:1; /**< indicates whether or not this node already consumed a LEA */
+
+ unsigned got_reload:1; /**< set to 1 if node cosumed a reload */
+
+ unsigned n_res:6; /**< number of results produced by this node */
} data;
- struct obstack *am_offs; /**< offsets for AddrMode */
- ident *am_sc; /**< SymConst for AddrMode */
+ long am_offs; /**< offsets for AddrMode */
+ ident *am_sc; /**< SymConst for AddrMode */
union {
tarval *tv; /**< tarval for immediate operations */
long pn_code; /**< projnum "types" (e.g. indicate compare operators and argument numbers) */
+ unsigned latency; /**< the latency of the instruction in clock cycles */
+
#ifndef NDEBUG
const char *orig_node; /**< holds the name of the original ir node for debugging purposes */
#endif /* NDEBUG */