* param subtypes of method types!!! Make sure these are not
* referenced any more. Further make sure there is no pointer type
* that refers to this type. */
* param subtypes of method types!!! Make sure these are not
* referenced any more. Further make sure there is no pointer type
* that refers to this type. */
-const tp_op*get_type_tpop(const type *tp);
-ident* get_type_tpop_nameid(const type *tp);
-const char* get_type_tpop_name(const type *tp);
-tp_opcode get_type_tpop_code(const type *tp);
+const tp_op*get_type_tpop(const ir_type *tp);
+ident* get_type_tpop_nameid(const ir_type *tp);
+const char* get_type_tpop_name(const ir_type *tp);
+tp_opcode get_type_tpop_code(const ir_type *tp);
-ident* get_type_ident(const type *tp);
-void set_type_ident(type *tp, ident* id);
-const char* get_type_name(const type *tp);
+ident* get_type_ident(const ir_type *tp);
+void set_type_ident(ir_type *tp, ident* id);
+const char* get_type_name(const ir_type *tp);
* Entities of types are never visibility_external_allocated (right?).
* Else returns visibility_local.
*/
* Entities of types are never visibility_external_allocated (right?).
* Else returns visibility_local.
*/
-visibility get_type_visibility (const type *tp);
-void set_type_visibility (type *tp, visibility v);
+visibility get_type_visibility (const ir_type *tp);
+void set_type_visibility (ir_type *tp, visibility v);
/** Sets the type layout state of a type.
*
* For primitives, pointer and method types the layout is always fixed.
* This call is legal but has no effect.
*/
/** Sets the type layout state of a type.
*
* For primitives, pointer and method types the layout is always fixed.
* This call is legal but has no effect.
*/
/** Sets the mode of a type.
*
* Only has an effect on primitive, enumeration and pointer types.
*/
/** Sets the mode of a type.
*
* Only has an effect on primitive, enumeration and pointer types.
*/
/** Returns the size of a type in bytes, returns -1 if the size is NOT
* a byte size, i.e. not dividable by 8. */
/** Returns the size of a type in bytes, returns -1 if the size is NOT
* a byte size, i.e. not dividable by 8. */
/** Sets the size of a type in bytes.
*
* For primitive, enumeration, pointer and method types the size
* is always fixed. This call is legal but has no effect.
*/
/** Sets the size of a type in bytes.
*
* For primitive, enumeration, pointer and method types the size
* is always fixed. This call is legal but has no effect.
*/
/** Sets the size of a type in bits.
*
* For primitive, enumeration, pointer and method types the size
* is always fixed. This call is legal but has no effect.
*/
/** Sets the size of a type in bits.
*
* For primitive, enumeration, pointer and method types the size
* is always fixed. This call is legal but has no effect.
*/
/** Returns the alignment of a type in bytes.
*
* Returns -1 if the alignment is NOT
* a byte size, i.e. not dividable by 8. Calls get_type_alignment_bits(). */
/** Returns the alignment of a type in bytes.
*
* Returns -1 if the alignment is NOT
* a byte size, i.e. not dividable by 8. Calls get_type_alignment_bits(). */
/** Sets the alignment of a type in bits.
*
* For method types the alignment is always fixed.
* This call is legal but has no effect.
*/
/** Sets the alignment of a type in bits.
*
* For method types the alignment is always fixed.
* This call is legal but has no effect.
*/
-unsigned long get_type_visited(const type *tp);
-void set_type_visited(type *tp, unsigned long num);
+unsigned long get_type_visited(const ir_type *tp);
+void set_type_visited(ir_type *tp, unsigned long num);
-void mark_type_visited(type *tp);
-int type_visited(const type *tp);
-int type_not_visited(const type *tp);
+void mark_type_visited(ir_type *tp);
+int type_visited(const ir_type *tp);
+int type_not_visited(const ir_type *tp);
/**
* Visited flag to traverse the type information.
*
* Increase this flag by one before traversing the type information
* using inc_master_type_visited().
/**
* Visited flag to traverse the type information.
*
* Increase this flag by one before traversing the type information
* using inc_master_type_visited().
- * Mark type nodes as visited by mark_type_visited(type).
- * Check whether node was already visited by type_visited(type)
- * and type_not_visited(type).
+ * Mark type nodes as visited by mark_type_visited(ir_type).
+ * Check whether node was already visited by type_visited(ir_type)
+ * and type_not_visited(ir_type).
/** Finds the member with name 'name'. If several members with the same
* name returns one of them. Returns NULL if no member found. */
/** Finds the member with name 'name'. If several members with the same
* name returns one of them. Returns NULL if no member found. */
/** Replaces complete member list in class type by the list passed.
*
* Copies the list passed. This function is necessary to reduce the number of members.
* members is an array of entities, num the size of this array. Sets all
* owners of the members passed to clss. */
/** Replaces complete member list in class type by the list passed.
*
* Copies the list passed. This function is necessary to reduce the number of members.
* members is an array of entities, num the size of this array. Sets all
* owners of the members passed to clss. */
/** Finds member in the list of members and removes it.
*
* Shrinks the member list, so iterate from the end!!!
* Does not deallocate the entity. */
/** Finds member in the list of members and removes it.
*
* Shrinks the member list, so iterate from the end!!!
* Does not deallocate the entity. */
/** Adds subtype as subtype to clss.
*
* Checks whether clss is a supertype of subtype. If not
* adds also clss as supertype to subtype. */
/** Adds subtype as subtype to clss.
*
* Checks whether clss is a supertype of subtype. If not
* adds also clss as supertype to subtype. */
/** Returns the index to access subclass as subtype of class.
*
* If subclass is no direct subtype of class returns -1.
*/
/** Returns the index to access subclass as subtype of class.
*
* If subclass is no direct subtype of class returns -1.
*/
/** Sets the subtype at position pos, 0 <= pos < n_subtype.
*
* Does not set the corresponding supertype relation for subtype: this might
* be a different position! */
/** Sets the subtype at position pos, 0 <= pos < n_subtype.
*
* Does not set the corresponding supertype relation for subtype: this might
* be a different position! */
/** Returns the index to access superclass as supertype of class.
*
* If superclass is no direct supertype of class returns -1.
*/
/** Returns the index to access superclass as supertype of class.
*
* If superclass is no direct supertype of class returns -1.
*/
/** Sets the supertype at position pos, 0 <= pos < n_supertype.
*
* Does not set the corresponding subtype relation for supertype: this might
* be at a different position! */
/** Sets the supertype at position pos, 0 <= pos < n_supertype.
*
* Does not set the corresponding subtype relation for supertype: this might
* be at a different position! */
/* Set and get a class' dfn --
@todo This is an undocumented field, subject to change! */
/* Set and get a class' dfn --
@todo This is an undocumented field, subject to change! */
-void set_class_dfn (type *clss, int dfn);
-int get_class_dfn (const type *clss);
+void set_class_dfn (ir_type *clss, int dfn);
+int get_class_dfn (const ir_type *clss);
-type *new_d_type_method (ident *name, int n_param, int n_res, dbg_info* db);
+ir_type *new_d_type_method (ident *name, int n_param, int n_res, dbg_info* db);
/* -- manipulate private fields of method. -- */
/** Returns the number of parameters of this method. */
/* -- manipulate private fields of method. -- */
/** Returns the number of parameters of this method. */
/** Sets the type of the parameter at position pos of a method.
Also changes the type in the pass-by-value representation by just
changing the type of the corresponding entity if the representation is constructed. */
/** Sets the type of the parameter at position pos of a method.
Also changes the type in the pass-by-value representation by just
changing the type of the corresponding entity if the representation is constructed. */
/** Returns an entity that represents the copied value argument. Only necessary
for compounds passed by value. This information is constructed only on demand. */
/** Returns an entity that represents the copied value argument. Only necessary
for compounds passed by value. This information is constructed only on demand. */
/** Sets the type of the result at position pos of a method.
Also changes the type in the pass-by-value representation by just
changing the type of the corresponding entity if the representation is constructed. */
/** Sets the type of the result at position pos of a method.
Also changes the type in the pass-by-value representation by just
changing the type of the corresponding entity if the representation is constructed. */
/** Returns an entity that represents the copied value result. Only necessary
for compounds passed by value. This information is constructed only on demand. */
/** Returns an entity that represents the copied value result. Only necessary
for compounds passed by value. This information is constructed only on demand. */
* of the method type plus one is returned for variadic functions.
* Non-variadic function types always return -1 here.
*/
* of the method type plus one is returned for variadic functions.
* Non-variadic function types always return -1 here.
*/
GCC: __attribute__((naked)). */
mtp_property_malloc = 0x00000020, /**< This method returns newly allocate memory.
GCC: __attribute__((malloc)). */
GCC: __attribute__((naked)). */
mtp_property_malloc = 0x00000020, /**< This method returns newly allocate memory.
GCC: __attribute__((malloc)). */
mtp_property_inherited = 0x40000000 /**< used only in irg's, means property is inherited
from type. */
} mtp_additional_property;
/** Returns the mask of the additional graph properties. */
mtp_property_inherited = 0x40000000 /**< used only in irg's, means property is inherited
from type. */
} mtp_additional_property;
/** Returns the mask of the additional graph properties. */
#define SET_FASTCALL(cc_mask) (((cc_mask) & ~cc_bits) | cc_fastcall_set)
/** Returns the calling convention of an entities graph. */
#define SET_FASTCALL(cc_mask) (((cc_mask) & ~cc_bits) | cc_fastcall_set)
/** Returns the calling convention of an entities graph. */
/* --- manipulate private fields of struct --- */
/** Returns the number of unioned types of this union */
/* --- manipulate private fields of struct --- */
/** Returns the number of unioned types of this union */
* The entity for array elements is built automatically.
* Set dimension sizes after call to constructor with set_* routines.
*/
* The entity for array elements is built automatically.
* Set dimension sizes after call to constructor with set_* routines.
*/
-type *new_type_array (ident *name, int n_dimensions,
- type *element_type);
+ir_type *new_type_array (ident *name, int n_dimensions,
+ ir_type *element_type);
* Set dimension sizes after call to constructor with set_* routines.
* A legal array type must have at least one dimension set.
*/
* Set dimension sizes after call to constructor with set_* routines.
* A legal array type must have at least one dimension set.
*/
-type *new_d_type_array (ident *name, int n_dimensions,
- type *element_type, dbg_info* db);
+ir_type *new_d_type_array (ident *name, int n_dimensions,
+ ir_type *element_type, dbg_info* db);
/* --- manipulate private fields of array type --- */
/** Returns the number of array dimensions of this type. */
/* --- manipulate private fields of array type --- */
/** Returns the number of array dimensions of this type. */
/**
* Allocates Const nodes of mode_I for one array dimension.
* Upper bound in Firm is the element next to the last, i.e. [lower,upper[
*/
/**
* Allocates Const nodes of mode_I for one array dimension.
* Upper bound in Firm is the element next to the last, i.e. [lower,upper[
*/
-void set_array_bounds_int (type *array, int dimension, int lower_bound,
+void set_array_bounds_int (ir_type *array, int dimension, int lower_bound,
int upper_bound);
/**
* Sets the bounds for one array dimension.
* Upper bound in Firm is the element next to the last, i.e. [lower,upper[
*/
int upper_bound);
/**
* Sets the bounds for one array dimension.
* Upper bound in Firm is the element next to the last, i.e. [lower,upper[
*/
-void set_array_bounds (type *array, int dimension, ir_node *lower_bound,
+void set_array_bounds (ir_type *array, int dimension, ir_node *lower_bound,
/** Allocates Const nodes of mode_I for the lower bound of an array
dimension, i.e. [lower,upper[ */
/** Allocates Const nodes of mode_I for the lower bound of an array
dimension, i.e. [lower,upper[ */
/** Allocates Const nodes of mode_I for the upper bound of an array
dimension, i.e. [lower,upper[. */
/** Allocates Const nodes of mode_I for the upper bound of an array
dimension, i.e. [lower,upper[. */
/* --- manipulate fields of enumeration type. --- */
/** Returns the number of enumeration values of this enumeration */
/* --- manipulate fields of enumeration type. --- */
/** Returns the number of enumeration values of this enumeration */
-type *new_d_type_pointer (ident *name, type *points_to, ir_mode *ptr_mode, dbg_info* db);
+ir_type *new_d_type_pointer (ident *name, ir_type *points_to, ir_mode *ptr_mode, dbg_info* db);
/** Returns the first pointer type that has as points_to tp.
* Not efficient: O(#types).
* If not found returns unknown_type. */
/** Returns the first pointer type that has as points_to tp.
* Not efficient: O(#types).
* If not found returns unknown_type. */
* important information they carry is held in the common mode field.
*/
/** Creates a new primitive type. */
* important information they carry is held in the common mode field.
*/
/** Creates a new primitive type. */
/**
* Makes a new frame type. Frame types are class types,
* so all class access functions work.
* Frame types are not in the global list of types.
*/
/**
* Makes a new frame type. Frame types are class types,
* so all class access functions work.
* Frame types are not in the global list of types.
*/
* debugging, (configure with --enable-debug) else returns the address
* of the type cast to long.
*/
* debugging, (configure with --enable-debug) else returns the address
* of the type cast to long.
*/