Releases: SkuldNorniern/lamina
Releases · SkuldNorniern/lamina
Development Build (2026-06-02)
Continuous Integration
- fix back to automatic changelog generation (Eira)
C SDK 0.1.0
| Archive | Surface |
|---|---|
lamina-c-0.1.0-stable-x86_64-linux.tar.gz |
Stable AOT (lamina.h) |
lamina-c-0.1.0-nightly-x86_64-linux.tar.gz |
+ JIT (lamina_nightly.h, no ABI guarantee) |
Verify: sha256sum -c lamina-c-0.1.0-stable-x86_64-linux.tar.gz.sha256
v0.0.10
v0.0.8
Features
- mir_codegen: add load/store to risc-v (Eira)
- mir_codegen: add func call for x86 (Eira)
- mir_codegen: support float for aarch64 (Eira)
- mir_codegen: add calling support for risc-v (Eira)
- mir_backend: implement proper call to wasm (Eira)
- improve float parse (Eira)
- ad bitwise support (Eira)
- add ir conversion inst (Eira)
- add support for
switch(Eira) - add support for parsing it (Eira)
- add support for builder for new inst (Eira)
- finish implementing
switch(Eira) - add memory inst placeholder (Eira)
- benchmark: add factorial bench and alter script (Eira)
- cleanup comments and write proper docstring (Eira)
- add test utilizing the bench (Eira)
- mir_codegen: add constants per os in order (Eira)
- test: add bench fibonacci for test (Eira)
- transform: improve and cleanup
loopopt (Eira) - transform: improve and cleanup
deadcodeelimination (Eira) - transform: improve and cleanup
memoryopt (Eira) - transform: enhance
peephole,scheduleopt (Eira) - update based on the transform changes (Eira)
- tests: add tests based on the benchmarks (Eira)
- add support for
tailcallforx86_64(Eira) - add assemble and link for utilizing the linkers (Eira)
- use assembler/linker in raw ld/lld, as/gas (Eira)
- add capabilities marking (Eira)
- mir: add common abi module (Eira)
Bug Fixes
- mir_codegen: fix more than 8 args issue (Eira)
- overhaul the testcases and use expected based test (Eira)
- fix syntax error (Eira)
- mir_codegen: add memory barrier, flushing for
write(Eira) - fix for build error (Eira)
- fix self calling error (Eira)
- mir_codegen: fix codegen on x86 (Eira)
- fix wasm to work properly with wat2wasm (Eira)
- fix wasm build (Eira)
- fix linker args (Eira)
- fix linker flag for x86 (Eira)
- temporary fix for ci with no executable (Eira)
- state clippy allow to testcase unwrap (Eira)
- fix wasm bin generation flag (Eira)
- tempory fix for builder (Eira)
- fix unwrap usage much safer (Eira)
- fix clippy warning (Eira)
- implement std fromstr trait properly (Eira)
- fix clippy warning (Eira)
- fix test execution (Eira)
- fix ci workflow order (Eira)
Documentation
- refine
README(Eira) - add more docstring to the codebase (Eira)
- add docstring for builder each types (Eira)
- add docstring to few legacy codes (Eira)
Styles
Code Refactoring
- simplify code (Eira)
- modulate parser (Eira)
- cleanup codebase (Eira)
- mir_codegen: cleanup code and improve maintainablity (Eira)
- cleanup codebase (Eira)
- transform:
rustclippy(Eira) - transform: cleanup
inline,motion(Eira) - cleanup
2dmatmulbench (Eira) rustclippy(Eira)- use new assembler linker pipeline (Eira)
rustclippy(Eira)- improve code reuse (Eira)
rustclippy(Eira)- unify code inconsistencies (Eira)
- standardize emit_asm and finalize (Eira)
- unify abi usage (Eira)
- fix unwrap used in production code (Eira)
rustclippy([Eira](ht...
v0.0.7
Features
- codegen: state basic
Codegentrait #14 (Eira) - codegen: state basic regalloc idea (Eira)
- codegen: state more backend arch (Eira)
- refactor to use manual marking on Result (Eira)
- mark all
.DS_Storeto.gitignore(Eira) - transform: add placeholder for more opt methods #3 (Eira)
- codegen: add
Redoxto target os list (Eira) - codegen: mark types for types, globals, funcs (Eira)
- codegen: state static for codegen option (Eira)
- mir: add placeholder for
simd(Eira) - codegen: alter the
aarch64to use the trait (Eira) - codegen: mark TODO for other arch's symbol (Eira)
- codegen: implement basic regalloc trait (Eira)
- codegen: add regalloc for
x86_64(Eira) - codegen: add basic regalloc for
mips(Eira) - regalloc: add dyn dispatch support #14 (Eira)
- regalloc: add dyn dispatch support #14 (Eira)
- transform: implement transform pipeline (Eira)
- transform: add basic
loopopt (Eira) - transform: extend inlining opt (Eira)
- transform: extend
peepholeopt (Eira) - transform: add sets of motion opts (Eira)
- mir: expose transforms (Eira)
- transform: expose inline, motion opts and add to pipeline (Eira)
- add verbose opt log (Eira)
- transform: add basic tailcall (Eira)
- add
--versionflag (Eira) - transform: support tailcall to deadcode (Eira)
- transform: add basic strength reduction (Eira)
- transform: expose two more opts (Eira)
- transform: add targeted optimization to Rem (Eira)
- codegen: add placeholder for compiler error on rem (Eira)
- ir: add rem support (Eira)
- transform: add basic memory optimization (Eira)
- transform: add some cononicalize opt (Eira)
- add some special opts (Eira)
- transform: add cfg opts (Eira)
- transform: add addressing opt for memory (Eira)
- mir: enhance mir generation (Eira)
- transform: add remove dup loop (Eira)
- transform: enhance load/store operation opt (Eira)
- transform: for
mortionadd more copy pattern (Eira) - bench: add prime generation bench for modulo (Eira)
- merge
mir_codegen's error to main error (Eira) - transform: improve copy propagation (Eira)
- transform: stablize loop opt (Eira)
- for
aarch64, use mir as default flow (Eira) - mir_codegen: implement basic
x86_64support (Eira) - add more platform support (Eira)
- transform: mark more stable opts (Eira)
- mir_codegen: modulate, use trait on
x86_64(Eira) - mir_codegen: support
wasm(Eira) - mir_codegen: implement basic
risc-v(Eira) - transform: add peephole opt for 2dmatmul (Eira)
- transform: add schedule opt (Eira)
- transform: add ssa elimination (Eira)
- transform: add brach opt and sanity check (Eira)
- transfrom: add more pattern for matmul (Eira)
- mir_codegen: expose
wasm(Eira) - expose new codegen (Eira)
- add proper target handling (Eira)
- unify target enum usage (Eira)
- utilize new target enums (Eira)
- enhance
bsdhandling (Eira) - add more function annotation (Eira)
- improve
BSDhandling (Eira) - ir: add placeholder for
SIMD(Eira) - mir: add placeholder for
atomic,simd(Eira) - add placeholder for build issue (Eira)
- mir_codegen: mark unimplemented op with error (Eira)
- mark
arteryriscv128as nightly (Eira) - ir: change display order ([Eira](https://github.com/SkuldNorniern/lamina/comm...
v0.0.6
Features
- codegen: Add WASM codegen. #9 (Arthur Beck)
- mir: add comments for mark (Eira)
- mir: add placeholder for
transform(Eira) - mir: add
opt_levelmark (Eira) - mir: basic register handling (Eira)
- codegen: enable
wasmbackend (Eira) - mir: add types (Eira)
- mir: add basic
instructionset (Eira) - mir: add
BlockforFunctionimplementation (Eira) - add
emit-miroption (Eira) - mir: add basic function baseplate (Eira)
- mir: add basic module structure (Eira)
- mir: set the mod file with testcase (Eira)
- transform: add
deadcodeelemination optimization placeholder (Eira) - transform: add
peepholeoptimization placeholder (Eira) - expose mir to
lib.rs(Eira) - add
WASMto supported list (Eira) - trasnform: add basic
Peepholeoptimization as a reference (Eira) - risc-v: implement basic
Risc-Varch (Eira) - risc-v: support width based operation (Eira)
- mir: add proper
Displaytrait support (Eira) - add support for emmit
MIR(Eira) - add
riscas a supported backend (Eira) - expose
riscassembly generation (Eira) - risc-v: add support for stack and alloc operation (Eira)
- codegen: add basic
MIRto asm foraarch64(Eira) - codegen: add placeholder for
MIRasm x86_64 (Eira) - codegen: add basic
mirtoaarch64(Eira) - mir: extend support to more ir (Eira)
- add experimental support to use the mir flow (Eira)
- add script for mir flow (Eira)
Bug Fixes
- wasm: change generate::WasmInstruction::Comment to format to a block comment #9 (Arthur Beck)
- mir: fix lifetime issue of inst (Eira)
- transform: fix problemetic docstring (Eira)
- riscv: rename
risc-vbackend (Eira) - aarch64: support stack offsets beyond [-256, 255] range #13 (Han Damin)
Documentation
Styles
Code Refactoring
- mir:
rustclippy(Eira) - wasm:
rustclippy(Eira) - wasm: remove duplicate () (Eira)
- transform: change comment to docstring (Eira)
- avoid use of
While Letchain (Eira) - mir:
rustclippy(Eira) - mir: move mir codegen as it's own folder (Eira)
- mir: modularize
IRtoMIRcodegen (Eira)
Chores
- update
.gitignorefor macOS (Eira) - bump version (SkuldNorniern)
Commits
- d8140b9: refact : Code Cleanup (lms0806) #10
- remove debug print (Eira)
- 5dc2ebf: Merge branch 'main' of https://github.com/SkuldNorniern/lamina (Eira)
What's Changed
- feat(codegen): Add WASM codegen. by @Aversefun in #9
- refact : Code Cleanup by @lms0806 in #10
- fix(aarch64): support stack offsets beyond [-256, 255] range by @miniex in #13
New Contributors
- @Aversefun made their first contribution in #9
- @lms0806 made their first contribution in #10
- @miniex made their first contribution in #13
Full Changelog: v0.0.5...v0.0.6
v0.0.5
Features
- add
stdintestcase (Eira)
Bug Fixes
- x86_64: fix stdin codegen (SkuldNorniern)
- x86_64: fix function issue (SkuldNorniern)
- x86_64: fix read return value (SkuldNorniern)
- fix testing (SkuldNorniern)
- x86_64: fix read's return value (SkuldNorniern)
- aarch64: fix stdin and function issue (Eira)
Documentation
- improve with more examples (SkuldNorniern)
Styles
rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)
Chores
- bump version (Eira)
Commits
- remove unneeded
readptr(SkuldNorniern) - remove readptr from testcase (SkuldNorniern)
v0.0.4
Features
- state type conversion for parser (SkuldNorniern)
- implement type conversion for the rest (SkuldNorniern)
- add suit of tests for types (SkuldNorniern)
- add tests for expected bugs (SkuldNorniern)
- x86_64: introduce variable indices for gep (SkuldNorniern)
- x86_64: add support for dynamic allocation support (SkuldNorniern)
- add testcases for the bugs (SkuldNorniern)
- aarch64: implemnt
ptrtoint,inttoptroperation (SkuldNorniern)
Bug Fixes
- x86_64: temp implementation for wrong element size (SkuldNorniern)
- adjust testcases (SkuldNorniern)
- fix GEP, field offset (SkuldNorniern)
- x86_64: iprove heap stack memory control (SkuldNorniern)
- fix more type bugs (SkuldNorniern)
- x86_64: for
GEPadd support for type aware (SkuldNorniern) - large_constants test (SkuldNorniern)
- fix varible index support (SkuldNorniern)
- fix test not returning 0 exit code (SkuldNorniern)
- fix doctests (SkuldNorniern)
- aarch64: fix zero extension, deallocation, division (Eira)
- aarch64: fix aarch stackframe bug (Eira)
Styles
rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(Eira)rustfmt(Eira)
Code Refactoring
- not use
printmethod since it's for debugging (SkuldNorniern)
Chores
- bump version (SkuldNorniern)
Commits
- a1c2a91: Merge branch 'main' of https://github.com/SkuldNorniern/lamina (SkuldNorniern)
v0.0.3
Features
- add placeholder for IO (Eira)
- add parser support for IO (Eira)
- introcude proper stdout (Eira)
- add
hello_worldas test (Eira) - add some more test (Eira)
- add io tests (Eira)
- extend docstrings (Eira)
- x86_64: implement basic IO (Eira)
Bug Fixes
- docs: fix docs errror (Eira)
- fix old tests (Eira)
- aarch64: fix buffer not getting flushed (Eira)
- aarch64: fix writeptr being same wit save (Eira)
- fix operation of
writeptr(Eira) - fix testcases for wrong printing (Eira)
- remove emoji (Eira)
- fix doctest, remove emoji (Eira)
- x86_64: add flush for IO (SkuldNorniern)
Documentation
- update docs for
IR(Eira)
Styles
rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)rustfmt(SkuldNorniern)
Code Refactoring
Chores
- add some TODO (Eira)
- bump to
0.0.3(SkuldNorniern)
v0.0.2
Full Changelog: v0.0.1...v0.0.2
v0.0.1
Full Changelog: https://github.com/SkuldNorniern/lamina/commits/v0.0.1