[all-commits] [llvm/llvm-project] d791f0: [ORC-RT] Add equality/inequality comparison to str...

lhames via All-commits all-commits at lists.llvm.org
Tue Jun 1 11:26:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d791f0c2199e47e63e1dd95da2e78518d574bad2
      https://github.com/llvm/llvm-project/commit/d791f0c2199e47e63e1dd95da2e78518d574bad2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M compiler-rt/lib/orc/adt.h

  Log Message:
  -----------
  [ORC-RT] Add equality/inequality comparison to string_view.


  Commit: 28c3e9c0d150591105511d4aa8064e9366da0df7
      https://github.com/llvm/llvm-project/commit/28c3e9c0d150591105511d4aa8064e9366da0df7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M compiler-rt/lib/orc/c_api.h
    M compiler-rt/lib/orc/common.h
    M compiler-rt/lib/orc/unittests/c_api_test.cpp

  Log Message:
  -----------
  [ORC-RT] Rename C-API functions to use __orc_rt_ prefix (instead of OrcRT).

This matches the C++ namespace name, and is consistent with other C linkage
functions (e.g. __orc_rt_jit_dispatch).


  Commit: da5924132771576bcb0d46aeb63777b42b898265
      https://github.com/llvm/llvm-project/commit/da5924132771576bcb0d46aeb63777b42b898265
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M compiler-rt/lib/orc/CMakeLists.txt
    M compiler-rt/lib/orc/unittests/CMakeLists.txt
    A compiler-rt/lib/orc/unittests/wrapper_function_utils_test.cpp
    A compiler-rt/lib/orc/wrapper_function_utils.h

  Log Message:
  -----------
  [ORC-RT] Add WrapperFunctionResult, Simple Packed Serialization (SPS) system.

WrapperFunctionResult is a C++ wrapper for __orc_rt_CWrapperFunctionResult
that automatically manages the underlying struct.

The Simple Packed Serialization (SPS) utilities support a simple serialization
scheme for wrapper function argument and result buffers:

Primitive typess (bool, char, int8_t, and uint8_t, int16_t, uint16_t, int32_t,
uint32_t, int64_t, uint64_t) are serialized in little-endian form.

SPSTuples are serialized by serializing each of the tuple members in order
without padding.

SPSSequences are serialized by serializing a sequence length (as a uint64_t)
followed by each of the elements of the sequence in order without padding.

Serialization/deserialization always involves a pair of SPS type tag (a tag
representing the serialized format to use, e.g. uint32_t, or
SPSTuple<bool, SPSString>) and a concrete type to be serialized from or
deserialized to (uint32_t, std::pair<bool, std::string>). Serialization for new
types can be implemented by specializing the SPSSerializationTraits type.


Compare: https://github.com/llvm/llvm-project/compare/cf5c94ef08f9...da5924132771


More information about the All-commits mailing list