prepare add of 'link' field to tarvals
authorFlorian Liekweg <liekweg@ipd.info.uni-karlsruhe.de>
Fri, 26 Nov 2004 16:01:24 +0000 (16:01 +0000)
committerFlorian Liekweg <liekweg@ipd.info.uni-karlsruhe.de>
Fri, 26 Nov 2004 16:01:24 +0000 (16:01 +0000)
[r4482]

ir/tv/tv.c
ir/tv/tv.h
ir/tv/tv_t.h

index 92ab9a2..cb6f12f 100644 (file)
@@ -414,6 +414,15 @@ ir_mode *get_tarval_mode (tarval *tv)       /* get the mode of the tarval */
   return tv->mode;
 }
 
+/*
+void *get_tarval_link (tarval *tv)
+{
+  ANNOUNCE ();
+  assert (tv);
+  return (tv->link);
+}
+*/
+
 /*
  * Special value query functions ============================================
  *
@@ -1432,19 +1441,19 @@ int tarval_snprintf(char *buf, size_t len, tarval *tv)
     case irms_reference:
       if (tv == tarval_P_void) return snprintf(buf, len, "NULL");
       if (tv->value != NULL){
-         if (len > tv->length) {
-           memcpy(buf, tv->value, tv->length);
-           buf[tv->length] = '\0';
-         }
-         else {
-           /* truncated */
-           memcpy(buf, tv->value, len-1);
-           buf[len-1] = '\0';
-         }
-         return tv->length;
+      if (len > tv->length) {
+        memcpy(buf, tv->value, tv->length);
+        buf[tv->length] = '\0';
+      }
+      else {
+        /* truncated */
+        memcpy(buf, tv->value, len-1);
+        buf[len-1] = '\0';
+      }
+      return tv->length;
          }
       else
-       return snprintf(buf, len, "void");
+    return snprintf(buf, len, "void");
 
     case irms_internal_boolean:
       switch (mode_info->mode_output) {
@@ -1496,7 +1505,7 @@ char *get_tarval_bitpattern(tarval *tv)
     byte = get_tarval_sub_bits(tv, i);
     for(j = 1; j < 256; j <<= 1)
       if(pos < n)
-       res[pos++] = j & byte ? '1' : '0';
+    res[pos++] = j & byte ? '1' : '0';
   }
 
   res[n] = '\0';
index 8ed8a54..1cb437e 100644 (file)
@@ -244,26 +244,29 @@ int tarval_is_double(tarval *tv);
 /** Returns the mode of the tarval. */
 ir_mode *get_tarval_mode (tarval *tv);
 
+/** Returns the contents of the 'link' field of the tarval */
+/* void *get_tarval_link (tarval*); */
+
 /* Testing properties of the represented values */
 
 /**
  * Returns 1 if tv is negative
  *
- * @param a    the tarval
+ * @param a the tarval
  */
 int tarval_is_negative(tarval *a);
 
 /**
  * Returns 1 if tv is null
  *
- * @param a    the tarval
+ * @param a the tarval
  */
 int tarval_is_null(tarval *a);
 
 /**
  * Returns 1 if tv is the "one"
  *
- * @param a    the tarval
+ * @param a the tarval
  */
 int tarval_is_one(tarval *a);
 
@@ -466,12 +469,12 @@ int tarval_carry(void);
  * However, we can do this in the tarval much simplier...
  */
 typedef enum {
-  TVO_NATIVE,                  /**< the default output mode, depends on the mode */
-  TVO_HEX,                     /**< use hex representation, always possible */
-  TVO_DECIMAL,                 /**< use decimal representation */
-  TVO_OCTAL,                   /**< use octal representation */
-  TVO_BINARY,                  /**< use binary representation */
-  TVO_FLOAT,                   /**< use floating point representation (i.e 1.342e-2)*/
+  TVO_NATIVE,           /**< the default output mode, depends on the mode */
+  TVO_HEX,          /**< use hex representation, always possible */
+  TVO_DECIMAL,          /**< use decimal representation */
+  TVO_OCTAL,            /**< use octal representation */
+  TVO_BINARY,           /**< use binary representation */
+  TVO_FLOAT,            /**< use floating point representation (i.e 1.342e-2)*/
   TVO_HEXFLOAT                  /**< use hexadecimal floating point representation (i.e 0x1.ea32p-12)*/
 } tv_output_mode;
 
@@ -480,11 +483,11 @@ typedef enum {
  * of a tarval of a mode.
  */
 typedef struct tarval_mode_info {
-    tv_output_mode mode_output;                /**< if != TVO_NATIVE select a special mode */
-    const char *mode_prefix;           /**< if set, this prefix will be printed
-                                            before a value of this mode */
-    const char *mode_suffix;           /**< if set, this suffix will be printed
-                                            after a value of this mode */
+    tv_output_mode mode_output;         /**< if != TVO_NATIVE select a special mode */
+    const char *mode_prefix;        /**< if set, this prefix will be printed
+                         before a value of this mode */
+    const char *mode_suffix;        /**< if set, this suffix will be printed
+                         after a value of this mode */
 } tarval_mode_info;
 
 /**
@@ -492,8 +495,8 @@ typedef struct tarval_mode_info {
  *
  * This functions stores the modinfo, so DO NOT DESTROY it.
  *
- * @param mode         a ir_mode that should be associated
- * @param modeinfo     the output format info
+ * @param mode      a ir_mode that should be associated
+ * @param modeinfo  the output format info
  *
  * @return zero on success.
  */
@@ -504,7 +507,7 @@ int  set_tarval_mode_output_option(ir_mode *mode, const tarval_mode_info *modein
  *
  * This functions returns the modinfo of a given mode.
  *
- * @param mode         a ir_mode that should be associated
+ * @param mode      a ir_mode that should be associated
  *
  * @return the output option
  */
@@ -554,8 +557,8 @@ char *get_tarval_bitpattern(tarval *tv);
  * - concatenation (endian dependance MUST be handled by the CALLER)
  * - bitwise logical operations to select/mask bits
  *
- * @param tv           the tarval
- * @param byte_ofs     the byte offset
+ * @param tv        the tarval
+ * @param byte_ofs  the byte offset
  *
  * @note
  *   The result of this funcion is undefined if the mode is neither integer nor float.
@@ -566,10 +569,10 @@ unsigned char get_tarval_sub_bits(tarval *tv, unsigned byte_ofs);
  * Return values of tarval classify
  */
 typedef enum _tarval_classification_t {
-  TV_CLASSIFY_NULL    =  0,    /**< the tarval represents the additive neutral element */
-  TV_CLASSIFY_ONE     = +1,    /**< the tarval represents the multiplicative neutral element */
-  TV_CLASSIFY_ALL_ONE = -1,    /**< the tarval represents the bitwise-and neutral element */
-  TV_CLASSIFY_OTHER   =  2     /**< all other tarvals */
+  TV_CLASSIFY_NULL    =  0, /**< the tarval represents the additive neutral element */
+  TV_CLASSIFY_ONE     = +1, /**< the tarval represents the multiplicative neutral element */
+  TV_CLASSIFY_ALL_ONE = -1, /**< the tarval represents the bitwise-and neutral element */
+  TV_CLASSIFY_OTHER   =  2  /**< all other tarvals */
 } tarval_classification_t;
 
 /**
index 4316740..b5c622d 100644 (file)
@@ -52,9 +52,10 @@ void finish_tarval(void);
  *   irmode.h for predefined modes
  */
 struct tarval {
-    ir_mode *mode;             /**< the mode of the stored value */
-    const void *value;                 /**< the value stored in an internal way... */
-    unsigned int length;       /**< the length of the stored value */
+    ir_mode *mode;      /**< the mode of the stored value */
+    const void *value;      /**< the value stored in an internal way... */
+    unsigned int length;    /**< the length of the stored value */
+  /* void *link; */                   /**< some opaque information */
 };
 
 /** remove tarval representing an entity that is about to be destroyed */