* PURPOSE.
*/
-/*
- * Project: libFIRM
- * File name: ir/ir/irmode_t.h
- * Purpose: Data modes of operations -- private header.
- * Author: Martin Trapp, Christian Schaefer
- * Modified by: Goetz Lindenmaier, Mathias Heil, Michael Beck
- * Created:
- * CVS-ID: $Id$
- * Copyright: (c) 1998-2007 Universität Karlsruhe
- */
-
-
/**
- * @file irmode_t.h
+ * @file
+ * @brief Data modes of operations -- private header.
+ * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil,
+ * Michael Beck
+ * @version $Id$
*/
-#ifndef _IRMODE_T_H_
-#define _IRMODE_T_H_
+#ifndef FIRM_IR_IRMODE_T_H
+#define FIRM_IR_IRMODE_T_H
#include <assert.h>
#include "irmode.h"
#include "tv.h"
-/** This struct is supposed to completely define a mode. **/
+/**
+ * Contains relevant information about a mode.
+ *
+ * Necessary information about a mode is stored in this struct
+ * which is used by the tarval module to perform calculations
+ * and comparisons of values of a such described mode.
+ *
+ * ATTRIBUTES:
+ * - modecode code: An unambiguous int (enum) for the mode
+ * - ident *name: Name of this mode. Two modes are different if the name is different.
+ * - mode_sort sort: sort of mode specifying possible usage categories
+ * - int size: size of the mode in Bits.
+ * - unsigned sign:1: signedness of this mode
+ * - ... more to come
+ * - modulo_shift specifies for modes of kind irms_int_number
+ * whether shift applies modulo to value of bits to shift
+ *
+ * SEE ALSO:
+ * The tech report 1999-44 describing FIRM and predefined modes
+ * tarval.h
+ */
struct ir_mode {
firm_kind kind; /**< distinguishes this node from others */
modecode code; /**< unambiguous identifier of a mode */
#define mode_is_float_vector(mode) _mode_is_float_vector(mode)
#define mode_is_int_vector(mode) _mode_is_int_vector(mode)
-#endif /* _IRMODE_T_H_ */
+#endif