[Support][RFC] MessagePack reader/writer

Hello all,

I have prepared a small patch to add support for reading and writing
MessagePack in LLVM, and want to propose including it in trunk.
MessagePack is
a binary object serialization format, with the goal of being more
compact than
text formats like JSON or YAML. The specification can be found at
msgpack/spec.md at master · msgpack/msgpack · GitHub

There is no use of the code currently (outside of unit tests), but at
AMD we
are defining our next code object metadata format in terms of
MessagePack, so
patches which use the new format will be coming soon. I wanted to
propose the
addition now before writing dependant code, so anyone with interest can
a chance to review it.

Hi Scott,

I have a work in progress patch to tty out message pack format to emit
remarks. I am using GitHub - msgpack/msgpack-c: MessagePack implementation for C and C++ / msgpack.org[C/C++]
it is header only library available under boost license. But however if
this is sufficient for my experiment I would love to use this.
- Vivek

Hi Vivek,

I'm glad to hear there is some interest in the library. From a quick
look at msgpack-c it appears this should be sufficient, but if you
get a chance to look at my API please let me know if there is anything
you need which is missing.

As I mentioned, there is no equivalent to msgpack-c's MSGPACK_DEFINE
for user-defined structs, but I plan to implement something similar.