systems-nuts / unifico

Compiler and build harness for heterogeneous-ISA binaries with the same stack layout.
3 stars 1 forks source link
arm64 heterogeneous-isa llvm migration x86

Unifico - Unified Address Space and Stack Layout

Development

Git Hooks

Git pre-commit hooks in this project are managed by pre-commit. Once you clone the repo locally, run pre-commit install to install the configured pre-commit hooks.

How to compile musl properly.

LLVM Branch musl Branch Description
llvm-9.0.1 unmodified unmodified
musl unasl modified

LLVM CMake flags for Unifico

-DLLVM_UNIFICO_TABLEGEN_FEATURES="-DUNIFICO_GPR_CALLING_CONV; \
-DUNIFICO_FPR_CALLING_CONV; \
-DUNIFICO_REMAT_RULES; \
-DUNIFICO_REGALLOC_RULES; \
-DUNIFICO_REG_COST; \
-DUNIFICO_INSTR_EXTENSION; \
-DUNIFICO_CHEAP_MOVES; \
-DUNIFICO_AARCH64_TWOADDR;"

How to build init and aligned binaries

Python tools

pin install -e .