[llvm-commits] [release_13] CVS: llvm-gcc/gcc/llvm-types.c

John Criswell criswell at cs.uiuc.edu
Fri Aug 6 12:55:42 PDT 2004



Changes in directory llvm-gcc/gcc:

llvm-types.c updated: 1.11 -> 1.11.2.1
---
Log message:

Merged in Chris's changes from August 6, 2004.  This expands the number of
structure elements beyond 256 to 1024.


---
Diffs of the changes:  (+7 -7)

Index: llvm-gcc/gcc/llvm-types.c
diff -u llvm-gcc/gcc/llvm-types.c:1.11 llvm-gcc/gcc/llvm-types.c:1.11.2.1
--- llvm-gcc/gcc/llvm-types.c:1.11	Sun Jul 18 16:18:03 2004
+++ llvm-gcc/gcc/llvm-types.c	Fri Aug  6 14:55:32 2004
@@ -1114,7 +1114,7 @@
                         TREE_INT_CST_LOW(TYPE_SIZE(TREE_TYPE(Field)));
         unsigned Align = TYPE_ALIGN(TREE_TYPE(Field));
         assert(Offset == 0 && "Offset always thought to be zero in union!");
-        SET_DECL_LLVM(Field, llvm_constant_new_integral(UByteTy, 0));
+        SET_DECL_LLVM(Field, llvm_constant_new_integral(UIntTy, 0));
         
         if (Align > MaxAlign) {
           MaxAlign = Align;
@@ -1204,9 +1204,9 @@
     unsigned Idx, Size;
     unsigned fieldcount;
     PtrPtrTableEntry **HTEP, *HTE;
-    llvm_type *StructElements[256];  /* FIXME: Fixed size buffers are bad. */
-    unsigned ElementOffsets[256];
-    unsigned ElementAlignments[256];
+    llvm_type *StructElements[256*4];  /* FIXME: Fixed size buffers are bad. */
+    unsigned ElementOffsets[256*4];
+    unsigned ElementAlignments[256*4];
 
     /* Is it a forward declaration? */
     if (TYPE_SIZE(type) == 0) { /* Yes, handle this. */
@@ -1257,7 +1257,7 @@
      * before calling llvm_type_get_from_tree, so we just allocate "enough"
      * space.
      */
-    Result = llvm_type_create_struct(500,
+    Result = llvm_type_create_struct(1024 /*FIXME THIS IS HORRIBLE!*/,
                                      (TREE_INT_CST_LOW(TYPE_SIZE(type))+7)/8);
     /* Add the new structure type to the hash table of created structure types.
      */
@@ -1288,7 +1288,7 @@
     if (Field && TREE_CODE(Field) != FIELD_DECL)
       Field = GetNextFieldDecl(Field);
     for (fieldcount = 0; Field; fieldcount++,Field = GetNextFieldDecl(Field)) {
-      assert ((fieldcount<256) && "LLVM can only have 255 structure members!");
+      assert ((fieldcount<256*4) && "LLVM can only have 1023 structure members!");
       DecodeFieldDecl(Field, StructElements, ElementOffsets, ElementAlignments,
                       &Idx, &Size);
 
@@ -1341,7 +1341,7 @@
 #if DEBUG_STRUCT_LAYOUT
       fprintf(stderr, "%d, ", Idx);
 #endif
-      SET_DECL_LLVM(Field, llvm_constant_new_integral(UByteTy, Idx));
+      SET_DECL_LLVM(Field, llvm_constant_new_integral(UIntTy, Idx));
 
       /* If we just passed over a zero sized field, skip ahead to the next
        * field, so we don't assign all consequtive zero sized elements to the






More information about the llvm-commits mailing list