+/**
+ * An interval initializer.
+ */
+typedef struct interval_initializer interval_initializer;
+
+/**
+ * A value initializer.
+ */
+typedef struct value_initializer value_initializer;
+
+struct interval_initializer {
+ int first_index; /**< The first index of the initialized interval. */
+ int last_index; /**< The last index of the initialized interval. */
+ interval_initializer *next; /**< Points to the next interval initializer. */
+};
+
+struct value_initializer {
+ ir_entity *ent; /**< The initialized entity. */
+ value_initializer *next; /**< Points to the next value initializer. */
+};
+
+typedef union initializer {
+ ir_node *value; /**< The value of the initializer. */
+ ir_node **values; /**< The values of an interval. */
+ value_initializer *val_init; /**< Points the the head of the next value initializers. */
+ interval_initializer *int_init; /**< Points to the head of the next value initializers. */
+} initializer;
+
+/*-----------------------------------------------------------------*/