Do not mark the transformed as visited. It makes no sense at all.
[libfirm] / ir / be / ppc32 / ppc32_nodes_attr.h
index 3775ffe..f504a72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
  * PURPOSE.
  */
 
-#ifndef _PPC32_NODES_ATTR_H_
-#define _PPC32_NODES_ATTR_H_
+/**
+ * @file
+ * @brief   declarations for ppc32 node attributes
+ * @author  Moritz Kroll, Jens Mueller
+ * @version $Id$
+ */
+#ifndef FIRM_BE_PPC32_PPC32_NODES_ATTR_H
+#define FIRM_BE_PPC32_PPC32_NODES_ATTR_H
 
+#include "irnode_t.h"
 #include "../bearch_t.h"
 
 typedef struct
@@ -45,8 +52,8 @@ typedef enum {
 } ppc32_attr_offset_mode;
 
 typedef struct _ppc32_attr_t {
+       except_attr  exc;           /**< the exception attribute. MUST be the first one. */
        arch_irn_flags_t flags;     /**< indicating if spillable, rematerializeable ... etc. */
-       int              n_res;     /**< number of results for this node */
 
        const arch_register_req_t **in_req;  /**< register requirements for arguments */
        const arch_register_req_t **out_req; /**< register requirements for results */
@@ -63,8 +70,7 @@ typedef struct _ppc32_attr_t {
                void* empty;
        } data;
 
-       /* must be last, dynamically allocated */
-       const arch_register_t *slots[1];       /**< register slots for assigned registers */
+       const arch_register_t **slots;       /**< register slots for assigned registers */
 } ppc32_attr_t;
 
-#endif /* _PPC32_NODES_ATTR_H_ */
+#endif