[llvm-commits] [dragonegg] r128078 - in /dragonegg/trunk: Constants.cpp Convert.cpp

Duncan Sands baldrick at free.fr
Tue Mar 22 01:50:38 PDT 2011


Author: baldrick
Date: Tue Mar 22 03:50:38 2011
New Revision: 128078

URL: http://llvm.org/viewvc/llvm-project?rev=128078&view=rev
Log:
Eliminate some assumptions that a byte (addressable unit) is 8 bits wide.

Modified:
    dragonegg/trunk/Constants.cpp
    dragonegg/trunk/Convert.cpp

Modified: dragonegg/trunk/Constants.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/Constants.cpp?rev=128078&r1=128077&r2=128078&view=diff
==============================================================================
--- dragonegg/trunk/Constants.cpp (original)
+++ dragonegg/trunk/Constants.cpp Tue Mar 22 03:50:38 2011
@@ -514,10 +514,10 @@
 
 static Constant *ConvertPOINTER_PLUS_EXPR(tree exp) {
   Constant *Ptr = ConvertInitializer(TREE_OPERAND(exp, 0)); // The pointer.
-  Constant *Idx = ConvertInitializer(TREE_OPERAND(exp, 1)); // Offset in bytes.
+  Constant *Idx = ConvertInitializer(TREE_OPERAND(exp, 1)); // Offset in units.
 
   // Convert the pointer into an i8* and add the offset to it.
-  Ptr = TheFolder->CreateBitCast(Ptr, Type::getInt8PtrTy(Context));
+  Ptr = TheFolder->CreateBitCast(Ptr, GetUnitPointerType(Context));
   Constant *GEP = POINTER_TYPE_OVERFLOW_UNDEFINED ?
     TheFolder->CreateInBoundsGetElementPtr(Ptr, &Idx, 1) :
     TheFolder->CreateGetElementPtr(Ptr, &Idx, 1);

Modified: dragonegg/trunk/Convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/Convert.cpp?rev=128078&r1=128077&r2=128078&view=diff
==============================================================================
--- dragonegg/trunk/Convert.cpp (original)
+++ dragonegg/trunk/Convert.cpp Tue Mar 22 03:50:38 2011
@@ -6695,10 +6695,10 @@
 
 Value *TreeToLLVM::EmitReg_POINTER_PLUS_EXPR(tree type, tree op0, tree op1) {
   Value *Ptr = EmitRegister(op0); // The pointer.
-  Value *Idx = EmitRegister(op1); // The offset in bytes.
+  Value *Idx = EmitRegister(op1); // The offset in units.
 
   // Convert the pointer into an i8* and add the offset to it.
-  Ptr = Builder.CreateBitCast(Ptr, Type::getInt8PtrTy(Context));
+  Ptr = Builder.CreateBitCast(Ptr, GetUnitPointerType(Context));
   Value *GEP = POINTER_TYPE_OVERFLOW_UNDEFINED ?
     Builder.CreateInBoundsGEP(Ptr, Idx) : Builder.CreateGEP(Ptr, Idx);
 





More information about the llvm-commits mailing list