Let dfs() discover only memory nodes
[libfirm] / ir / tr / type_t.h
index 87b68be..c959edc 100644 (file)
@@ -115,9 +115,10 @@ typedef struct {
        ir_type *points_to;  /**< The type of the ir_entity the pointer points to. */
 } ptr_attr;
 
-/*
-typedef struct {   * No private attr yet! *
-} pri_attr; */
+/** Primitive type attributes. */
+typedef struct {
+       ir_type *base_type;  /**< For bitfield types: The base primitive type, NULL else. */
+} pri_attr;
 
 
 /*
@@ -134,6 +135,7 @@ typedef union {
        arr_attr aa;      /**< Attributes of an array type */
        enm_attr ea;      /**< Attributes of an enumeration type */
        ptr_attr pa;      /**< Attributes of a pointer type */
+       pri_attr ba;      /**< Attributes of a primitive bitfield type */
 } tp_attr;
 
 /** Additional type flags. */
@@ -368,7 +370,7 @@ _get_type_size_bytes(const ir_type *tp) {
        return size >> 3;
 }
 
-static INLINE type_state
+static INLINE ir_type_state
 _get_type_state(const ir_type *tp) {
        assert(tp && tp->kind == k_type);
        return tp->flags & tf_layout_fixed ? layout_fixed : layout_undefined;