https://github.com/nateseymour/city
JIT Compiler Infrastructure
https://github.com/nateseymour/city
compiler cpp jit
Last synced: about 1 year ago
JSON representation
JIT Compiler Infrastructure
- Host: GitHub
- URL: https://github.com/nateseymour/city
- Owner: NateSeymour
- License: mit
- Created: 2024-12-12T15:22:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T17:38:55.000Z (over 1 year ago)
- Last Synced: 2025-04-13T06:58:46.673Z (about 1 year ago)
- Topics: compiler, cpp, jit
- Language: C++
- Homepage: https://nateseymour.github.io/city/
- Size: 65.2 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# city
`city` is a JIT compiler infrastructure written in C++.
It provides a simple `llvm`-like builder API that is used to generate `city-ir`. This IR can then be compiled to any of
the supported architectures.
## Supported Platforms
`city` is tested and developed for support on the following platforms and compiler versions:
| OS | Architecture | Compilers |
|---------------|--------------|-----------------------------|
| Windows 10/11 | Amd64/x86_64 | MSVC 2022, GCC 14, Clang 19 |
| MacOS 15 | AArch64 | Apple Clang 15 |
| MacOS 15 | Amd64/x86_64 | Apple Clang 15 |
Linux support is planned for GCC 14 and Clang 19.
## Goals
`city` aims to:
- Support `aarch64` and `amd64` on Windows, MacOS, and Linux.
- Be free of any third-party dependencies.
- Provide a simple API.
- Prioritize compilation speed over runtime speed in order to excel at compiling and running small, short-lived
functions.