21bcbb7edcd369a81f56d571cd131f053d12a491
rather than a traditional dictionary or hashmap, this data structure supports a one-to-one mapping between a UUID and a value. this is an intrusive data structure like mie_name_map (a value struct must include an instance of mie_id), but this one does not support name collisions. mie_id_map generates and issues UUIDs based on a name provided by the caller. All UUIDs are v5, meaning they are generated using a SHA1 hash of a namespace UUID (specified when the mie_id_map is initialised), and a unique name provided by the caller. mie_id can also be used standalone to generate, store, and stringify UUIDs.
Table of Contents
About The Project
Mie is an extensible intermediate representation framework inspired by LLVM and MLIR. It is designed to accept high-level program representation from a compiler front-end, lower and optimise it into a flat stream of low-level instructions, and then convert it into a target-specific implementation.
(The name Mie is pronounced like "me", "bee", or "sea", and (despite the logo) is not pronounced like "my", "bye", or "pie")
License
Distributed under the BSD 3-Clause License. See LICENSE for more information.
Description
Languages
C
97.2%
CMake
1.8%
Vim Script
1%