becopyheur2: Avoid unnecessary copies of the admissible registers.
[libfirm] / ir / tr / type_t.h
index a256f47..27126de 100644 (file)
@@ -1,20 +1,6 @@
 /*
- * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
- *
  * This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
 
 /**
@@ -94,7 +80,6 @@ typedef struct {
        ir_type **subtypes;          /**< Array containing the direct subtypes. */
        ir_type **supertypes;        /**< Array containing the direct supertypes */
        ir_peculiarity peculiarity;  /**< The peculiarity of this class. */
-       ir_entity *type_info;        /**< An ir_entity representing this class, used for type info. */
        int      dfn;                /**< A number that can be used for 'instanceof' operator. */
        unsigned vtable_size;        /**< The size of the vtable for this class. */
        unsigned clss_flags;         /**< Additional class flags. */
@@ -174,7 +159,7 @@ typedef union {
 } tp_attr;
 
 /** Additional type flags. */
-enum type_flags {
+typedef enum type_flags {
        tf_none             = 0, /**< No flags. */
        tf_lowered_type     = 1U << 0, /**< Set if this is a lowered type. */
        tf_layout_fixed     = 1U << 1, /**< Set if the layout of a type is fixed */
@@ -186,7 +171,7 @@ enum type_flags {
        tf_constructors     = 1U << 6, /**< Set only for the constructors segment type */
        tf_destructors      = 1U << 7, /**< Set only for the destructors segment type */
        tf_variable_size    = 1U << 8, /**< compound or array type may have variable size last element */
-};
+} type_flags;
 ENUM_BITSET(type_flags)
 
 /**
@@ -575,4 +560,6 @@ static inline void _set_method_calling_convention(ir_type *method, unsigned cc_m
        method->attr.ma.irg_calling_conv = cc_mask;
 }
 
+ir_type *new_type_segment(ident *name, type_flags flags);
+
 #endif /* FIRM_TR_TYPE_T_H */