mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28:24 +00:00
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:
@@ -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:
|
||||||
|
Reference in New Issue
Block a user