Consult the target data, not the module, about how large the current pointer

size is.  This ensures that if the module has no specified pointer size that
things will work correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8136 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2003-08-24 19:55:26 +00:00
parent 0c8c0e80ca
commit c879e8ffc4

View File

@@ -132,7 +132,7 @@ void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr,
Ptr->Untyped[2] = (Val.UIntVal >> 16) & 255; Ptr->Untyped[2] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[3] = (Val.UIntVal >> 24) & 255; Ptr->Untyped[3] = (Val.UIntVal >> 24) & 255;
break; break;
case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64) case Type::PointerTyID: if (getTargetData().getPointerSize() == 4)
goto Store4BytesLittleEndian; goto Store4BytesLittleEndian;
case Type::DoubleTyID: case Type::DoubleTyID:
case Type::ULongTyID: case Type::ULongTyID:
@@ -165,7 +165,7 @@ void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr,
Ptr->Untyped[1] = (Val.UIntVal >> 16) & 255; Ptr->Untyped[1] = (Val.UIntVal >> 16) & 255;
Ptr->Untyped[0] = (Val.UIntVal >> 24) & 255; Ptr->Untyped[0] = (Val.UIntVal >> 24) & 255;
break; break;
case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64) case Type::PointerTyID: if (getTargetData().getPointerSize() == 4)
goto Store4BytesBigEndian; goto Store4BytesBigEndian;
case Type::DoubleTyID: case Type::DoubleTyID:
case Type::ULongTyID: case Type::ULongTyID:
@@ -204,7 +204,7 @@ GenericValue ExecutionEngine::LoadValueFromMemory(GenericValue *Ptr,
((unsigned)Ptr->Untyped[2] << 16) | ((unsigned)Ptr->Untyped[2] << 16) |
((unsigned)Ptr->Untyped[3] << 24); ((unsigned)Ptr->Untyped[3] << 24);
break; break;
case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64) case Type::PointerTyID: if (getTargetData().getPointerSize() == 4)
goto Load4BytesLittleEndian; goto Load4BytesLittleEndian;
case Type::DoubleTyID: case Type::DoubleTyID:
case Type::ULongTyID: case Type::ULongTyID:
@@ -238,7 +238,7 @@ GenericValue ExecutionEngine::LoadValueFromMemory(GenericValue *Ptr,
((unsigned)Ptr->Untyped[1] << 16) | ((unsigned)Ptr->Untyped[1] << 16) |
((unsigned)Ptr->Untyped[0] << 24); ((unsigned)Ptr->Untyped[0] << 24);
break; break;
case Type::PointerTyID: if (CurMod.getPointerSize() != Module::Pointer64) case Type::PointerTyID: if (getTargetData().getPointerSize() == 4)
goto Load4BytesBigEndian; goto Load4BytesBigEndian;
case Type::DoubleTyID: case Type::DoubleTyID:
case Type::ULongTyID: case Type::ULongTyID: