diff options
Diffstat (limited to 'lib/ExecutionEngine/ExecutionEngine.cpp')
| -rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 60 | 
1 files changed, 3 insertions, 57 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index ae96c7f5955f..1c6c0406d048 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -1,9 +1,8 @@  //===-- ExecutionEngine.cpp - Common Implementation shared by EEs ---------===//  // -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception  //  //===----------------------------------------------------------------------===//  // @@ -1020,32 +1019,6 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {    return Result;  } -/// StoreIntToMemory - Fills the StoreBytes bytes of memory starting from Dst -/// with the integer held in IntVal. -static void StoreIntToMemory(const APInt &IntVal, uint8_t *Dst, -                             unsigned StoreBytes) { -  assert((IntVal.getBitWidth()+7)/8 >= StoreBytes && "Integer too small!"); -  const uint8_t *Src = (const uint8_t *)IntVal.getRawData(); - -  if (sys::IsLittleEndianHost) { -    // 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); -  } else { -    // Big-endian host - the source is an array of 64 bit words ordered from -    // LSW to MSW.  Each word is ordered from MSB to LSB.  Order the destination -    // from MSB to LSB: Reverse the word order, but not the bytes in a word. -    while (StoreBytes > sizeof(uint64_t)) { -      StoreBytes -= sizeof(uint64_t); -      // May not be aligned so use memcpy. -      memcpy(Dst + StoreBytes, Src, sizeof(uint64_t)); -      Src += sizeof(uint64_t); -    } - -    memcpy(Dst, Src + sizeof(uint64_t) - StoreBytes, StoreBytes); -  } -} -  void ExecutionEngine::StoreValueToMemory(const GenericValue &Val,                                           GenericValue *Ptr, Type *Ty) {    const unsigned StoreBytes = getDataLayout().getTypeStoreSize(Ty); @@ -1093,33 +1066,6 @@ void ExecutionEngine::StoreValueToMemory(const GenericValue &Val,      std::reverse((uint8_t*)Ptr, StoreBytes + (uint8_t*)Ptr);  } -/// LoadIntFromMemory - Loads the integer stored in the LoadBytes bytes starting -/// from Src into IntVal, which is assumed to be wide enough and to hold zero. -static void LoadIntFromMemory(APInt &IntVal, uint8_t *Src, unsigned LoadBytes) { -  assert((IntVal.getBitWidth()+7)/8 >= LoadBytes && "Integer too small!"); -  uint8_t *Dst = reinterpret_cast<uint8_t *>( -                   const_cast<uint64_t *>(IntVal.getRawData())); - -  if (sys::IsLittleEndianHost) -    // 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); -  else { -    // Big-endian - the destination is an array of 64 bit words ordered from -    // LSW to MSW.  Each word must be ordered from MSB to LSB.  The source is -    // ordered from MSB to LSB: Reverse the word order, but not the bytes in -    // a word. -    while (LoadBytes > sizeof(uint64_t)) { -      LoadBytes -= sizeof(uint64_t); -      // May not be aligned so use memcpy. -      memcpy(Dst, Src + LoadBytes, sizeof(uint64_t)); -      Dst += sizeof(uint64_t); -    } - -    memcpy(Dst + sizeof(uint64_t) - LoadBytes, Src, LoadBytes); -  } -} -  /// FIXME: document  ///  void ExecutionEngine::LoadValueFromMemory(GenericValue &Result,  | 
