aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* io: fix hashtable lookup of builtin include files lemon2026-01-111-5/+15
| | | | It would break if there were hash collisions.
* target: accept amd64 as x86_64 synonym lemon2026-01-102-1/+3
|
* cpp: prioritize internal headers over system headers lemon2026-01-101-6/+6
|
* main: use time.h for time(), fexecve optional lemon2026-01-101-2/+20
|
* update READMElsof2026-01-091-1/+1
|
* ir/simpl: stub out some code that wasn't properly tested and broken lemon2026-01-091-0/+2
| | | | I'll figure it out later, but I better not have a broken trunk
* Add version tracking. Starting at 0.1.0 lemon2026-01-093-4/+38
|
* c: fix use after free lemon2026-01-091-1/+2
| | | | | A silly one, declsbuf.p can be realloc'd in the call to putdecl, but in this statement that pointer could be fetched before the call.
* cpp: fix pasting ident+keyword lemon2026-01-092-4/+23
|
* update README lemon2026-01-091-1/+3
|
* x86_64/isel: fix edgecase of fixarg from seljmp derefing nullpointer lemon2026-01-091-1/+1
|
* lexer: multibyte escape seqs in wide character literal lemon2026-01-091-4/+13
| | | | (hacky)
* c: allow 'register' in func parameter lemon2026-01-091-1/+1
|
* driver: remove hard limit for infiles lemon2026-01-091-38/+44
|
* cpp: fix multiline comment in skipped preprocessor directive lemon2026-01-093-4/+19
|
* cpp: fix single-line comment after preprocessor directive lemon2026-01-091-1/+1
| | | | It was eating up the newline token
* aarch64 codegen fixes lemon2026-01-082-59/+100
|
* codegen: eliminate redudant consecutive ret sequences lemon2026-01-082-0/+3
|
* ir: only stub out float <-> u64 cvt on x86 lemon2026-01-081-4/+3
| | | | hackish..
* irsimpl: optimize away cond branches after constant propagation lemon2026-01-071-21/+69
|
* io.c: bugfix lemon2026-01-071-1/+2
|
* aarch64: vshifts, flt cvt lemon2026-01-072-6/+67
|
* basic CSE lemon2026-01-045-0/+120
|
* ir bugfixes lemon2026-01-042-4/+14
|
* rega: fix spill copy of i32 -> i64 lemon2026-01-043-6/+6
|
* aarch64: LDR literal, cmp value lemon2026-01-023-10/+34
|
* target sysv abi by default even for unknown abi lemon2026-01-011-2/+2
|
* driver: when linking, put libraries at the end of command lemon2026-01-011-1/+1
|
* Use a configure script, query system toolchain for default include paths lemon2026-01-017-35/+135
|
* aarch64: not, flt load/store lemon2025-12-312-11/+47
|
* c: fix diagnostic with "return <undeclared>" lemon2025-12-311-2/+2
|
* aarch64 floats lemon2025-12-312-51/+106
|
* backend: separate instrs for integer/float store lemon2025-12-3113-49/+79
|
* aarch64 isel syms with offset lemon2025-12-313-41/+59
|
* c: SYM expr should store decl ref as an index, not pointer lemon2025-12-303-52/+59
| | | | | | | | Because envdecls (now declsbuf) can be resized and invalidate those pointers. I missed this because the default initialization size of that buffer (and the fact that it would mostly only manifest with function-local expressions) made it not really come up in practice. Silly
* aarch64 mul/div lemon2025-12-302-0/+31
|
* more aarch64 work lemon2025-12-294-71/+212
|
* x86_64: optimize away some redundant zero extensions lemon2025-12-291-1/+9
|
* x86_64/isel: aimm should take vlong lemon2025-12-291-1/+1
|
* cpp: nicer handling of predefined macros lemon2025-12-291-40/+29
|
* backend: start implementing aarch64 lemon2025-12-2811-24/+1245
|
* x86_64/emit move things around lemon2025-12-261-12/+11
|
* ir/builder: fix bug optiminzg x+x as x-x -> 0 lemon2025-12-261-2/+3
|
* avoid GOT relocations in unnecessary instances lemon2025-12-256-16/+19
| | | | | Also change xcon to have a flagset for symbols (whether it's a function, locally defined; later: thread local, etc).
* cleantemps() fixes lemon2025-12-241-0/+6
|
* ir: arena-backed linked list for uselists lemon2025-12-244-117/+96
| | | | | Is much simpler than the growable buffers, seems to be just as efficient if not a little faster when benchmarked.
* abi0: get rid of manual instruse reordering lemon2025-12-241-12/+1
| | | | Vestigial, wasn't enough and we're sorting uses in mem2reg now.
* x86_64: fix isel for 7036e19 lemon2025-12-241-1/+1
|
* driver: use execvp lemon2025-12-231-7/+6
|
* x86_64: fix -fpic lemon2025-12-231-9/+7
|