+const char *get_ia32_cnst(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ if (! attr->cnst)
+ return NULL;
+ return get_id_str(attr->cnst);
+}
+
+/**
+ * Sets the string representation of the internal const.
+ */
+void set_ia32_cnst(ir_node *node, char *cnst) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->cnst = new_id_from_str(cnst);
+}
+
+/**
+ * Gets the ident representation of the internal const (tv or symconst)
+ */
+ident *get_ia32_id_cnst(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->cnst;
+}
+
+/**
+ * Sets the ident representation of the internal const.
+ */
+void set_ia32_id_cnst(ir_node *node, ident *cnst) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->cnst = cnst;
+}
+
+/**
+ * Sets the uses_frame flag.
+ */
+void set_ia32_use_frame(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.use_frame = 1;
+}
+
+/**
+ * Clears the uses_frame flag.
+ */
+void clear_ia32_use_frame(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.use_frame = 0;
+}
+
+/**
+ * Gets the uses_frame flag.
+ */
+int is_ia32_use_frame(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->data.use_frame;
+}
+
+/**
+ * Sets node to commutative.
+ */
+void set_ia32_commutative(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.is_commutative = 1;
+}
+
+/**
+ * Sets node to non-commutative.
+ */
+void clear_ia32_commutative(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.is_commutative = 0;
+}
+
+/**
+ * Checks if node is commutative.
+ */
+int is_ia32_commutative(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->data.is_commutative;
+}
+
+/**
+ * Sets node emit_cl.
+ */
+void set_ia32_emit_cl(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.emit_cl = 1;
+}
+
+/**
+ * Clears node emit_cl.
+ */
+void clear_ia32_emit_cl(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.emit_cl = 0;
+}
+
+/**
+ * Checks if node needs %cl.
+ */
+int is_ia32_emit_cl(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->data.emit_cl;
+}
+
+/**
+ * Sets node got_lea.
+ */
+void set_ia32_got_lea(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.got_lea = 1;
+}
+
+/**
+ * Clears node got_lea.
+ */
+void clear_ia32_got_lea(ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->data.got_lea = 0;
+}
+
+/**
+ * Checks if node got lea.
+ */
+int is_ia32_got_lea(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->data.got_lea;
+}
+
+/**
+ * Gets the mode of the stored/loaded value (only set for Store/Load)
+ */
+ir_mode *get_ia32_ls_mode(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->ls_mode;
+}
+
+/**
+ * Sets the mode of the stored/loaded value (only set for Store/Load)
+ */
+void set_ia32_ls_mode(ir_node *node, ir_mode *mode) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->ls_mode = mode;
+}
+
+/**
+ * Gets the mode of the result.
+ */
+ir_mode *get_ia32_res_mode(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->res_mode;
+}
+
+/**
+ * Sets the mode of the result.
+ */
+void set_ia32_res_mode(ir_node *node, ir_mode *mode) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->res_mode = mode;
+}
+
+/**
+ * Gets the source mode of conversion.
+ */
+ir_mode *get_ia32_src_mode(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->src_mode;
+}
+
+/**
+ * Sets the source mode of conversion.
+ */
+void set_ia32_src_mode(ir_node *node, ir_mode *mode) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->src_mode = mode;
+}
+
+/**
+ * Gets the target mode of conversion.
+ */
+ir_mode *get_ia32_tgt_mode(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->tgt_mode;
+}
+
+/**
+ * Sets the target mode of conversion.
+ */
+void set_ia32_tgt_mode(ir_node *node, ir_mode *mode) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->tgt_mode = mode;
+}
+
+/**
+ * Gets the frame entity assigned to this node;
+ */
+entity *get_ia32_frame_ent(const ir_node *node) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ return attr->frame_ent;
+}
+
+/**
+ * Sets the frame entity for this node;
+ */
+void set_ia32_frame_ent(ir_node *node, entity *ent) {
+ ia32_attr_t *attr = get_ia32_attr(node);
+ attr->frame_ent = ent;