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)
- annotate nightly feature (Eira)
- add support for more nightly simd/atomic (Eira)
- adjust code based on nightly (Eira)
Bug Fixes
- fix
OUTPUTwritten asOUTOUT(Eira) - codegen: fix missing import (Eira)
- mir: mark
MirTypeimport on test section (Eira) - transform: for
loopopt fix issue with physical registers (Eira) - transform: fix overflow risk (Eira)
- transform: fix unsafe control flow (Eira)
- transform: fix to preserve original types (Eira)
- transform: use checked operation (Eira)
- transform: fix unstable opt to be more stable (Eira)
- transform: fix
inlineonly using hardcoded types (Eira) - transform: remove always applying opt (Eira)
- transform: remove issue of chain elemination (Eira)
- transform: add signed division overflow check (Eira)
- transform: fix incorrect propagation (Eira)
- transform: pre-detect overflow for subtract (Eira)
- transform: fix tailcall frame issue (Eira)
- fix use of
mir_codegenrefactored unit (Eira) - fix use of
mir_codegenrefactored unit (Eira) - parser: fix error on tensor test and overhaul testcase (Eira)
- mir_codegen: overhaul the list of useable regs (Eira)
- fix gating issue and make properly phi lowering (Eira)
- transform: re-sort cfg and re-introduce opt1 (Eira)
- transform: make
deadcodeto be more stable (Eira) - transform: mark some more unstable opts (Eira)
- parser: fix wrong testcase (Eira)
- transform: fix unstable peephole Cmp (Eira)
- transform: mark few more stable opts (Eira)
- transform: make
loopopt more stable (Eira) - transform: enhance
memoryopt to be more stable (Eira) - fix target wasm to wasm32 / wasm64 (Eira)
- fix bug may occure on parsing (Eira)
- remove arch dependent test (Eira)
- remove timeout and other unused (Eira)
- change lifetime parameter (Eira)
- fix target processing on x86 (Eira)
Documentation
- mark doc comments to proper doc (Eira)
- write some opt ideas (Eira)
- transform: state safty comment (Eira)
- state Unknown case (Eira)
Styles
rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)rustfmt(Eira)
Code Refactoring
rustclippy(Eira)rustclippy(Eira)- transform: fix code inconsistency (Eira)
- improve basic loop detect (Eira)
- mir_codegen: move mir_ver for future removing old path (Eira)
- transform: remove some aggresive opts causing issue (Eira)
rustclippy(Eira)- mir: makee it insert at once (Eira)
- re-structureize usage releated code quality (Eira)
- bench: optimize
primegenerationbench code (Eira) - stablize target parse (Eira)
- utilize Codegen trait for codegen pipeline (Eira)
rustclippy(Eira)rustclippy(Eira)rustclippy(Eira)
Builds
- add nightly feature (Eira)
Chores
- remove resolved bug (Eira)
- transform: deprecate unstable
LICM(Eira) - state bumped version and dev state (Eira)
- comment out arm32 placeholder (Eira)
- update
.gitignore(Eira) - bump to 0.0.7 from dev ver (Eira)
Commits
- remove mistaken commit (SkuldNorniern)
- 2967d96: Merge branch 'main' of https://github.com/SkuldNorniern/lamina (Eira)
- remvoe cache file (SkuldNorniern)
- remove binary (Eira)
- 6c643cf: Merge branch 'main' of https://github.com/SkuldNorniern/lamina (Eira)
Full Changelog: v0.0.6...v0.0.7