[llvm-commits] [llvm-gcc4] path for Constant[SU]Int -> ConstantInt

Reid Spencer rspencer at reidspencer.com
Fri Oct 20 00:17:50 PDT 2006


Index: llvm-abi.h
===================================================================
--- llvm-abi.h	(revision 184)
+++ llvm-abi.h	(working copy)
@@ -199,7 +199,7 @@
     } else if (TREE_CODE(type) == RECORD_TYPE) {
       for (tree Field = TYPE_FIELDS(type); Field; Field =
TREE_CHAIN(Field))
         if (TREE_CODE(Field) == FIELD_DECL) {
-          unsigned FNo =
cast<ConstantUInt>(DECL_LLVM(Field))->getValue();
+          unsigned FNo =
cast<ConstantInt>(DECL_LLVM(Field))->getZExtValue();
           assert(FNo != ~0U && "Case not handled yet!");
           
           C.EnterField(FNo, Ty);
Index: llvm-backend.cpp
===================================================================
--- llvm-backend.cpp	(revision 184)
+++ llvm-backend.cpp	(working copy)
@@ -333,7 +333,7 @@
   std::vector<Constant*> StructInit;
   StructInit.resize(2);
   for (unsigned i = 0, e = Tors.size(); i != e; ++i) {
-    StructInit[0] = ConstantSInt::get(Type::IntTy, Tors[i].second);
+    StructInit[0] = ConstantInt::get(Type::IntTy, Tors[i].second);
     StructInit[1] = Tors[i].first;
     InitList.push_back(ConstantStruct::get(StructInit));
   }
Index: llvm-convert.cpp
===================================================================
--- llvm-convert.cpp	(revision 184)
+++ llvm-convert.cpp	(working copy)
@@ -229,7 +229,7 @@
       NameStack.push_back(NameStack.back()+"."+utostr(FieldNo));
       
       Constant *Zero = Constant::getNullValue(Type::UIntTy);
-      Constant *FIdx = ConstantUInt::get(Type::UIntTy, FieldNo);
+      Constant *FIdx = ConstantInt::get(Type::UIntTy, FieldNo);
       Value *Loc = LocStack.back();
       if (cast<PointerType>(Loc->getType())->getElementType() !=
StructTy)
         Loc = new CastInst(Loc, PointerType::get(StructTy), "tmp",
CurBB);
@@ -730,18 +730,18 @@
     Value *V = new LoadInst(SrcPtr, "tmp", isSrcVolatile, CurBB);
     new StoreInst(V, DestPtr, isDstVolatile, CurBB);
   } else if (const StructType *STy = dyn_cast<StructType>(ElTy)) {
-    Constant *Zero = ConstantUInt::get(Type::UIntTy, 0);
+    Constant *Zero = ConstantInt::get(Type::UIntTy, 0);
     for (unsigned i = 0, e = STy->getNumElements(); i != e; ++i) {
-      Constant *Idx = ConstantUInt::get(Type::UIntTy, i);
+      Constant *Idx = ConstantInt::get(Type::UIntTy, i);
       Value *DElPtr = new GetElementPtrInst(DestPtr, Zero, Idx, "tmp",
CurBB);
       Value *SElPtr = new GetElementPtrInst(SrcPtr, Zero, Idx, "tmp",
CurBB);
       CopyAggregate(DElPtr, SElPtr, isDstVolatile, isSrcVolatile,
CurBB);
     }
   } else {
     const ArrayType *ATy = cast<ArrayType>(ElTy);
-    Constant *Zero = ConstantUInt::get(Type::UIntTy, 0);
+    Constant *Zero = ConstantInt::get(Type::UIntTy, 0);
     for (unsigned i = 0, e = ATy->getNumElements(); i != e; ++i) {
-      Constant *Idx = ConstantUInt::get(Type::UIntTy, i);
+      Constant *Idx = ConstantInt::get(Type::UIntTy, i);
       Value *DElPtr = new GetElementPtrInst(DestPtr, Zero, Idx, "tmp",
CurBB);
       Value *SElPtr = new GetElementPtrInst(SrcPtr, Zero, Idx, "tmp",
CurBB);
       CopyAggregate(DElPtr, SElPtr, isDstVolatile, isSrcVolatile,
CurBB);
@@ -800,17 +800,17 @@
   if (ElTy->isFirstClassType()) {
     new StoreInst(Constant::getNullValue(ElTy), DestPtr, CurBB);
   } else if (const StructType *STy = dyn_cast<StructType>(ElTy)) {
-    Constant *Zero = ConstantUInt::get(Type::UIntTy, 0);
+    Constant *Zero = ConstantInt::get(Type::UIntTy, 0);
     for (unsigned i = 0, e = STy->getNumElements(); i != e; ++i) {
-      Constant *Idx = ConstantUInt::get(Type::UIntTy, i);
+      Constant *Idx = ConstantInt::get(Type::UIntTy, i);
       Value *DElPtr = new GetElementPtrInst(DestPtr, Zero, Idx, "tmp",
CurBB);
       ZeroAggregate(DElPtr, CurBB);
     }
   } else {
     const ArrayType *ATy = cast<ArrayType>(ElTy);
-    Constant *Zero = ConstantUInt::get(Type::UIntTy, 0);
+    Constant *Zero = ConstantInt::get(Type::UIntTy, 0);
     for (unsigned i = 0, e = ATy->getNumElements(); i != e; ++i) {
-      Constant *Idx = ConstantUInt::get(Type::UIntTy, i);
+      Constant *Idx = ConstantInt::get(Type::UIntTy, i);
       Value *DElPtr = new GetElementPtrInst(DestPtr, Zero, Idx, "tmp",
CurBB);
       ZeroAggregate(DElPtr, CurBB);
     }
@@ -834,7 +834,7 @@
   }
 
   unsigned Alignment = TYPE_ALIGN_OK(type) ? (TYPE_ALIGN_UNIT(type) &
~0U) : 0;
-  EmitMemSet(DestPtr, ConstantUInt::get(Type::UByteTy, 0),
+  EmitMemSet(DestPtr, ConstantInt::get(Type::UByteTy, 0),
              Emit(TYPE_SIZE_UNIT(type), 0), Alignment);
 }
 
@@ -854,7 +854,7 @@
   Ops.push_back(CastToType(DestPtr, SBP));
   Ops.push_back(CastToType(SrcPtr, SBP));
   Ops.push_back(CastToType(Size, IntPtr));
-  Ops.push_back(ConstantUInt::get(Type::UIntTy, Align));
+  Ops.push_back(ConstantInt::get(Type::UIntTy, Align));
   new CallInst(MemCpy, Ops, "", CurBB);
 }
 
@@ -873,7 +873,7 @@
   Ops.push_back(CastToType(DestPtr, SBP));
   Ops.push_back(CastToType(SrcPtr, SBP));
   Ops.push_back(CastToType(Size, IntPtr));
-  Ops.push_back(ConstantUInt::get(Type::UIntTy, Align));
+  Ops.push_back(ConstantInt::get(Type::UIntTy, Align));
   new CallInst(MemMove, Ops, "", CurBB);
 }
 
@@ -893,7 +893,7 @@
   Ops.push_back(CastToType(DestPtr, SBP));
   Ops.push_back(CastToType(SrcVal, Type::UByteTy));
   Ops.push_back(CastToType(Size, IntPtr));
-  Ops.push_back(ConstantUInt::get(Type::UIntTy, Align));
+  Ops.push_back(ConstantInt::get(Type::UIntTy, Align));
   new CallInst(MemSet, Ops, "", CurBB);
 }
 
@@ -1183,7 +1183,7 @@
   // Assign the new ID, update AddressTakenBBNumbers to remember it.
   uint64_t BlockNo = ++NumAddressTakenBlocks;
   BlockNo &= ~0ULL >> (64-TD.getPointerSizeInBits());
-  Val = ConstantUInt::get(TD.getIntPtrType(), BlockNo);
+  Val = ConstantInt::get(TD.getIntPtrType(), BlockNo);
 
   // Add it to the switch statement in the indirect goto block.

cast<SwitchInst>(getIndirectGotoBlock()->getTerminator())->addCase(Val,
BB);
@@ -1689,7 +1689,7 @@
       LV.BitStart = ValSizeInBits-LV.BitStart-LV.BitSize;
     
     if (LV.BitStart+LV.BitSize != ValSizeInBits) {
-      Value *ShAmt = ConstantUInt::get(Type::UByteTy,
+      Value *ShAmt = ConstantInt::get(Type::UByteTy,
                                        ValSizeInBits-(LV.BitStart
+LV.BitSize));
       Val = new ShiftInst(Instruction::Shl, Val, ShAmt, "tmp", CurBB);
     }
@@ -1706,7 +1706,7 @@
           Val = CastToType(Val, Val->getType()->getSignedVersion());
       }
         
-      Value *ShAmt = ConstantUInt::get(Type::UByteTy,
ValSizeInBits-LV.BitSize);
+      Value *ShAmt = ConstantInt::get(Type::UByteTy,
ValSizeInBits-LV.BitSize);
       Val = new ShiftInst(Instruction::Shr, Val, ShAmt, "tmp", CurBB);
     }
     
@@ -1844,7 +1844,7 @@
     
     void EnterField(unsigned FieldNo, const llvm::Type *StructTy) {
       Constant *Zero = Constant::getNullValue(Type::UIntTy);
-      Constant *FIdx = ConstantUInt::get(Type::UIntTy, FieldNo);
+      Constant *FIdx = ConstantInt::get(Type::UIntTy, FieldNo);
       Value *Loc = LocStack.back();
       if (cast<PointerType>(Loc->getType())->getElementType() !=
StructTy)
         Loc = new CastInst(Loc, PointerType::get(StructTy), "tmp",
CurBB);
@@ -2085,12 +2085,12 @@
   RHS = CastToType(RHS, OldVal->getType());
   if (LV.BitStart)
     RHS = new ShiftInst(Instruction::Shl, RHS,
-                        ConstantUInt::get(Type::UByteTy, LV.BitStart),
+                        ConstantInt::get(Type::UByteTy, LV.BitStart),
                         "tmp", CurBB);
   // Next, if this doesn't touch the top bit, mask out any bits that
shouldn't
   // be set in the result.
   uint64_t MaskVal = ((1ULL << LV.BitSize)-1) << LV.BitStart;
-  Constant *Mask = ConstantUInt::get(Type::ULongTy, MaskVal);
+  Constant *Mask = ConstantInt::get(Type::ULongTy, MaskVal);
   Mask = ConstantExpr::getCast(Mask, RHS->getType());
   if (LV.BitStart+LV.BitSize != ValSizeInBits)
     RHS = BinaryOperator::createAnd(RHS, Mask, "tmp", CurBB);
@@ -2296,7 +2296,7 @@
         // If this is a subtract, we want to step backwards.
         if (Opc == Instruction::Sub)
           EltOffset = -EltOffset;
-        Constant *C = ConstantSInt::get(Type::LongTy, EltOffset);
+        Constant *C = ConstantInt::get(Type::LongTy, EltOffset);
         Value *V = new GetElementPtrInst(LHS, C, "tmp", CurBB);
         return CastToType(V, TREE_TYPE(exp));
       }
@@ -2357,7 +2357,7 @@
   In = CastToType(In, In->getType()->getUnsignedVersion());
 
   Value *TypeSize =
-    ConstantUInt::get(Type::UByteTy,
In->getType()->getPrimitiveSizeInBits());
+    ConstantInt::get(Type::UByteTy,
In->getType()->getPrimitiveSizeInBits());
   
   // Do the two shifts.
   Value *V1 = new ShiftInst((Instruction::OtherOps)Opc1, In, Amt,
"tmp", CurBB);
@@ -2830,7 +2830,7 @@
   
   for (unsigned i = 0, e = Ops.size(); i != e; ++i)
     Result = new InsertElementInst(Result, Ops[i], 
-                                   ConstantUInt::get(Type::UIntTy, i),
+                                   ConstantInt::get(Type::UIntTy, i),
                                    "tmp", CurBB);
   
   return Result;
@@ -2874,7 +2874,7 @@
       Idxs.push_back(UndefValue::get(Type::UIntTy));
     else {
       assert((unsigned)idx < 2*NumElements && "Element index out of
range!");
-      Idxs.push_back(ConstantUInt::get(Type::UIntTy, idx));
+      Idxs.push_back(ConstantInt::get(Type::UIntTy, idx));
     }
   }
   va_end(VA);
@@ -3503,8 +3503,8 @@
 
 void TreeToLLVM::EmitLoadFromComplex(Value *&Real, Value *&Imag,
                                      Value *SrcComplex, bool
isVolatile) {
-  Value *I0 = ConstantUInt::get(Type::UIntTy, 0);
-  Value *I1 = ConstantUInt::get(Type::UIntTy, 1);
+  Value *I0 = ConstantInt::get(Type::UIntTy, 0);
+  Value *I1 = ConstantInt::get(Type::UIntTy, 1);
   
   Value *RealPtr = new GetElementPtrInst(SrcComplex, I0, I0, "real",
CurBB);
   Real = new LoadInst(RealPtr, "real", isVolatile, CurBB);
@@ -3515,8 +3515,8 @@
 
 void TreeToLLVM::EmitStoreToComplex(Value *DestComplex, Value *Real,
                                     Value *Imag, bool isVolatile) {
-  Value *I0 = ConstantUInt::get(Type::UIntTy, 0);
-  Value *I1 = ConstantUInt::get(Type::UIntTy, 1);
+  Value *I0 = ConstantInt::get(Type::UIntTy, 0);
+  Value *I1 = ConstantInt::get(Type::UIntTy, 1);
   
   Value *RealPtr = new GetElementPtrInst(DestComplex, I0, I0, "real",
CurBB);
   new StoreInst(Real, RealPtr, isVolatile, CurBB);
@@ -3782,13 +3782,15 @@
   // If this is a normal field at a fixed offset from the start, handle
it.
   if (TREE_CODE(DECL_FIELD_OFFSET(FieldDecl)) == INTEGER_CST) {
     assert(DECL_LLVM_SET_P(FieldDecl) && "Struct not laid out for
LLVM?");
-    ConstantUInt *CI = cast<ConstantUInt>(DECL_LLVM(FieldDecl));
-    if (CI->getValue() == ~0U) {
+    ConstantInt *CI = cast<ConstantInt>(DECL_LLVM(FieldDecl));
+    uint32_t MemberIndex = CI->getZExtValue();
+    if (MemberIndex == ~0U) {
       assert(isStructWithVarSizeArrayAtEnd(StructTy) &&
              "Isn't var sized array access!");
-      CI = ConstantUInt::get(Type::UIntTy,
StructTy->getNumContainedTypes()-1);
+      CI = ConstantInt::get(Type::UIntTy,
StructTy->getNumContainedTypes()-1);
+      MemberIndex = CI->getZExtValue();
     }
-    assert(CI->getValue() < StructTy->getNumContainedTypes() &&
+    assert(MemberIndex < StructTy->getNumContainedTypes() &&
            "Field Idx out of range!");
     FieldPtr = new GetElementPtrInst(StructAddrLV.Ptr,

Constant::getNullValue(Type::IntTy), CI,
@@ -3796,10 +3798,10 @@
     
     // Now that we did an offset from the start of the struct, subtract
off
     // the offset from BitStart.
-    if (CI->getValue()) {
+    if (MemberIndex) {
       const StructLayout *SL =
TD.getStructLayout(cast<StructType>(StructTy));
-      assert(CI->getValue() < SL->MemberOffsets.size() &&"Idx out of
range!");
-      BitStart -= SL->MemberOffsets[CI->getValue()] * 8;
+      assert(MemberIndex < SL->MemberOffsets.size() &&"Idx out of
range!");
+      BitStart -= SL->MemberOffsets[MemberIndex] * 8;
     }
     
   } else {
@@ -3867,7 +3869,7 @@
         // Compute the byte offset, and add it to the pointer.
         unsigned ByteOffset = NumAlignmentUnits*ByteAlignment;
         
-        Constant *Offset = ConstantUInt::get(TD.getIntPtrType(),
ByteOffset);
+        Constant *Offset = ConstantInt::get(TD.getIntPtrType(),
ByteOffset);
         FieldPtr = CastToType(FieldPtr, Offset->getType());
         FieldPtr = BinaryOperator::createAdd(FieldPtr, Offset, "tmp",
CurBB);
         FieldPtr = CastToType(FieldPtr, PointerType::get(FieldTy));
@@ -3918,7 +3920,7 @@
     // than this.  e.g. check out when compiling
unwind-dw2-fde-darwin.c.
     Ptr.Ptr = CastToType(Ptr.Ptr, PointerType::get(ValTy));
     Ptr.Ptr = new GetElementPtrInst(Ptr.Ptr,
-                                    ConstantUInt::get(Type::UIntTy,
UnitOffset),
+                                    ConstantInt::get(Type::UIntTy,
UnitOffset),
                                     "tmp", CurBB);
     BitStart -= UnitOffset*ValueSizeInBits;
   }
@@ -3936,8 +3938,8 @@
   assert(!Ptr.isBitfield() && "BIT_FIELD_REF operands cannot be
bitfields!");
 
   return LValue(new GetElementPtrInst(Ptr.Ptr, 
-                                      ConstantUInt::get(Type::UIntTy,
0),
-                                      ConstantUInt::get(Type::UIntTy,
Idx),
+                                      ConstantInt::get(Type::UIntTy,
0),
+                                      ConstantInt::get(Type::UIntTy,
Idx),
                                       "tmp", CurBB));
 }
 
@@ -4046,7 +4048,7 @@
   // Build the value as a ulong constant, then constant fold it to the
right
   // type.  This handles overflow and other things appropriately.
   const Type *Ty = ConvertType(TREE_TYPE(exp));
-  return ConstantExpr::getCast(ConstantUInt::get(Type::ULongTy,
IntValue), Ty);
+  return ConstantExpr::getCast(ConstantInt::get(Type::ULongTy,
IntValue), Ty);
 }
 
 Constant *TreeConstantToLLVM::ConvertREAL_CST(tree exp) {
@@ -4101,28 +4103,28 @@
   if (ElTy == Type::SByteTy) {
     const signed char *InStr = (const signed char
*)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantSInt::get(Type::SByteTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::SByteTy, InStr[i]));
   } else if (ElTy == Type::UByteTy) {
     const unsigned char *InStr =(const unsigned char
*)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantUInt::get(Type::UByteTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::UByteTy, InStr[i]));
   } else if (ElTy == Type::ShortTy) {
     const signed short *InStr = (const signed short
*)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantSInt::get(Type::ShortTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::ShortTy, InStr[i]));
   } else if (ElTy == Type::UByteTy) {
     const unsigned short *InStr =
       (const unsigned short *)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantUInt::get(Type::UShortTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::UShortTy, InStr[i]));
   } else if (ElTy == Type::IntTy) {
     const signed *InStr = (const signed *)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantSInt::get(Type::IntTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::IntTy, InStr[i]));
   } else if (ElTy == Type::UIntTy) {
     const unsigned *InStr = (const unsigned *)TREE_STRING_POINTER(exp);
     for (unsigned i = 0; i != Len; ++i)
-      Elts.push_back(ConstantUInt::get(Type::UIntTy, InStr[i]));
+      Elts.push_back(ConstantInt::get(Type::UIntTy, InStr[i]));
   } else {
     assert(0 && "Unknown character type!");
   }
@@ -4327,7 +4329,7 @@
 
     // Insert the new value into the field and return it.
     uint64_t NewVal = (ExistingVal & ~FieldMask) | ValToInsert;
-    return ConstantExpr::getCast(ConstantUInt::get(Type::ULongTy,
NewVal),
+    return ConstantExpr::getCast(ConstantInt::get(Type::ULongTy,
NewVal),
                                  FieldTy);
   } else {
     // Otherwise, this is initializing part of an array of bytes.
Recursively
@@ -4416,7 +4418,7 @@
   // that contains bits from the bitfield overlayed with the declared
type of
   // the bitfield.  This bitfield value may be spread across multiple
fields, or
   // it may be just this field, or it may just be a small part of this
field.
-  unsigned FieldNo = cast<ConstantUInt>(DECL_LLVM(Field))->getValue();
+  unsigned FieldNo =
cast<ConstantInt>(DECL_LLVM(Field))->getZExtValue();
   assert(FieldNo < ResultElts.size() && "Invalid struct field
number!");
   
   // Get the offset and size of the LLVM field.
@@ -4508,7 +4510,7 @@
             EltVal = (Val >> 8*(e-i-1)) & 0xFF;
           }
           
-          ArrayElts.push_back(ConstantUInt::get(Type::UByteTy,
EltVal));
+          ArrayElts.push_back(ConstantInt::get(Type::UByteTy, EltVal));
         }
 
         return ConstantArray::get(ATy, ArrayElts);
@@ -4551,7 +4553,7 @@
       ProcessBitFieldInitialization(Field, Val, STy, ResultElts);
     } else {
       // If not, things are much simpler.
-      unsigned FieldNo =
cast<ConstantUInt>(DECL_LLVM(Field))->getValue();
+      unsigned FieldNo =
cast<ConstantInt>(DECL_LLVM(Field))->getZExtValue();
       
       // If this is an initialization of a global that ends with a
variable
       // sized array at its end, and the initializer has a non-zero
number of
@@ -4775,9 +4777,10 @@
   // If this is a normal field at a fixed offset from the start, handle
it.
   if (TREE_CODE(DECL_FIELD_OFFSET(FieldDecl)) == INTEGER_CST) {
     assert(DECL_LLVM_SET_P(FieldDecl) && "Struct not laid out for
LLVM?");
-    ConstantUInt *CI = cast<ConstantUInt>(DECL_LLVM(FieldDecl));
+    ConstantInt *CI = cast<ConstantInt>(DECL_LLVM(FieldDecl));
+    uint64_t MemberIndex = CI->getZExtValue();
     
-    if (CI->getValue() != ~0U) {
+    if (MemberIndex  != ~0U) {
       std::vector<Value*> Idxs;
       Idxs.push_back(Constant::getNullValue(Type::IntTy));
       Idxs.push_back(CI);
@@ -4785,10 +4788,10 @@
       
       // Now that we did an offset from the start of the struct,
subtract off
       // the offset from BitStart.
-      if (CI->getValue()) {
+      if (MemberIndex) {
         const StructLayout *SL =
TD.getStructLayout(cast<StructType>(StructTy));
-        assert(CI->getValue() < SL->MemberOffsets.size() &&"Idx out of
range!");
-        BitStart -= SL->MemberOffsets[CI->getValue()] * 8;
+        assert(MemberIndex < SL->MemberOffsets.size() &&"Idx out of
range!");
+        BitStart -= SL->MemberOffsets[MemberIndex] * 8;
       }
     } else {
       // We were unable to make a nice offset, emit an ugly one.
Index: llvm-debug.cpp
===================================================================
--- llvm-debug.cpp	(revision 184)
+++ llvm-debug.cpp	(working copy)
@@ -389,8 +389,8 @@
   
   // Invoke llvm.dbg.stoppoint
   std::vector<Value*> Args;
-  Args.push_back(ConstantUInt::get(Type::UIntTy, CurLineNo));
-  Args.push_back(ConstantUInt::get(Type::UIntTy, 0));
+  Args.push_back(ConstantInt::get(Type::UIntTy, CurLineNo));
+  Args.push_back(ConstantInt::get(Type::UIntTy, 0));
   Args.push_back(getCastValueFor(Unit));
   new CallInst(StopPointFn, Args, "", CurBB);
 }
Index: llvm-types.cpp
===================================================================
--- llvm-types.cpp	(revision 184)
+++ llvm-types.cpp	(working copy)
@@ -987,7 +987,7 @@
         
       unsigned FieldNo = 
         Info.getLLVMFieldFor(FieldOffsetInBits, CurFieldNo,
isZeroSizeField);
-      SET_DECL_LLVM(Field, ConstantUInt::get(Type::UIntTy, FieldNo));
+      SET_DECL_LLVM(Field, ConstantInt::get(Type::UIntTy, FieldNo));
     }
   
   const Type *ResultTy = Info.getLLVMType();





More information about the llvm-commits mailing list