Added add_saturated
[libfirm] / ir / tr / type.h
index f30116f..6e9d4c5 100644 (file)
@@ -1114,7 +1114,7 @@ int   is_Pointer_type            (const ir_type *pointer);
 
 /** Returns the first pointer type that has as points_to tp.
  *  Not efficient: O(#types).
- *  If not found returns unknown_type. */
+ *  If not found returns firm_unknown_type. */
 ir_type *find_pointer_type_to_type (ir_type *tp);
 
 /**
@@ -1123,7 +1123,7 @@ ir_type *find_pointer_type_to_type (ir_type *tp);
  * Primitive types are types that represent indivisible data values that
  * map directly to modes.  They don't have a private attribute.  The
  * important information they carry is held in the common mode field.
-*/
+ */
 /** Creates a new primitive type. */
 ir_type *new_type_primitive (ident *name, ir_mode *mode);
 
@@ -1135,7 +1135,7 @@ int  is_Primitive_type  (const ir_type *primitive);
 
 
 /**
- * @page none_type
+ * @page none_type The None type
  *
  *  This type is an auxiliary type dedicated to support type analyses.
  *
@@ -1254,6 +1254,20 @@ void set_lowered_type(ir_type *tp, ir_type *lowered_type);
  */
 ir_type *get_associated_type(const ir_type *tp);
 
+/**
+ * Allocate an area of size bytes aligned at alignment
+ * at the start or the end of a frame type.
+ * The frame type must have already an fixed layout.
+ *
+ * @param frame_type a frame type
+ * @param size       the size of the entity
+ * @param alignment  the alignment of the entity
+ * @param at_start   if true, put the area at the frame type's start, else at end
+ *
+ * @return the entity representing the area
+ */
+entity *frame_alloc_area(type *frame_type, int size, int alignment, int at_start);
+
 /*-----------------------------------------------------------------*/
 /** Debug aides                                                   **/
 /*-----------------------------------------------------------------*/