[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