aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-12-12 23:03:45 +0000
committerDuncan Sands <baldrick@free.fr>2007-12-12 23:03:45 +0000
commit2e6d342eadd76d0ba7dbc62084b5475befb49636 (patch)
treef4deb78e05abb63d0a95fc6c7eb5f0bcbf58d20b /lib
parent52f9dc5d0784eda9a9a26acb50bd8e80a7f2b8ba (diff)
downloadexternal_llvm-2e6d342eadd76d0ba7dbc62084b5475befb49636.zip
external_llvm-2e6d342eadd76d0ba7dbc62084b5475befb49636.tar.gz
external_llvm-2e6d342eadd76d0ba7dbc62084b5475befb49636.tar.bz2
Remove host endianness info from TargetData and
put it in a new header System/Host.h instead. Instead of getting the endianness from configure, calculate it directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44959 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/ExecutionEngine/ExecutionEngine.cpp5
-rw-r--r--lib/Target/TargetData.cpp9
2 files changed, 3 insertions, 11 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp
index 2c7a7dd..521e423 100644
--- a/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -23,6 +23,7 @@
#include "llvm/Support/Debug.h"
#include "llvm/Support/MutexGuard.h"
#include "llvm/System/DynamicLibrary.h"
+#include "llvm/System/Host.h"
#include "llvm/Target/TargetData.h"
#include <math.h>
using namespace llvm;
@@ -637,7 +638,7 @@ void ExecutionEngine::StoreValueToMemory(const GenericValue &Val, GenericValue *
uint8_t *Src = (uint8_t *)Val.IntVal.getRawData();
uint8_t *Dst = (uint8_t *)Ptr;
- if (getTargetData()->hostIsLittleEndian())
+ if (sys::littleEndianHost())
// Little-endian host - the source is ordered from LSB to MSB.
// Order the destination from LSB to MSB: Do a straight copy.
memcpy(Dst, Src, StoreBytes);
@@ -698,7 +699,7 @@ void ExecutionEngine::LoadValueFromMemory(GenericValue &Result,
uint8_t *Src = (uint8_t *)Ptr;
uint8_t *Dst = (uint8_t *)Result.IntVal.getRawData();
- if (getTargetData()->hostIsLittleEndian())
+ if (sys::littleEndianHost())
// Little-endian host - the destination must be ordered from LSB to MSB.
// The source is ordered from LSB to MSB: Do a straight copy.
memcpy(Dst, Src, LoadBytes);
diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp
index 4929805..8c46654 100644
--- a/lib/Target/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -25,7 +25,6 @@
#include "llvm/Support/ManagedStatic.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringExtras.h"
-#include "llvm/Config/config.h"
#include <algorithm>
#include <cstdlib>
#include <sstream>
@@ -133,14 +132,6 @@ const TargetAlignElem TargetData::InvalidAlignmentElem =
// TargetData Class Implementation
//===----------------------------------------------------------------------===//
-bool TargetData::hostIsLittleEndian() const {
-#ifdef LSB_FIRST
- return true;
-#else
- return false;
-#endif
-}
-
/*!
A TargetDescription string consists of a sequence of hyphen-delimited
specifiers for target endianness, pointer size and alignments, and various