Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-10-19 | improve tests output for contbuild | Quentin Carbonneaux | |
2016-10-19 | add magic for mobile viewing of doc | Quentin Carbonneaux | |
2016-09-27 | accept "ret" for functions with a return type | Quentin Carbonneaux | |
This happens to be needed for C. The standard mandates that a return value is used if the caller uses it. Surprisingly, if the return "value" is not used, the callee can use "return;". A better solution is to add an "undef" value and return it, "undef" would also have other use cases for compiling C. | |||
2016-08-17 | silent a few warnings | Quentin Carbonneaux | |
2016-08-16 | update help message of unit tester | Quentin Carbonneaux | |
2016-08-16 | add support for unions in sysv abi | Quentin Carbonneaux | |
2016-08-16 | parse union types | Quentin Carbonneaux | |
2016-08-15 | specify the allocation function in vnew | Quentin Carbonneaux | |
2016-08-14 | couple of case fixes in tokens | Quentin Carbonneaux | |
2016-08-14 | use an enum for aggregate segments | Quentin Carbonneaux | |
2016-08-14 | get rid of old Alt enum | Quentin Carbonneaux | |
2016-04-25 | fix type size computations in parser | Quentin Carbonneaux | |
The type sizes are important to get right because the ABI relies on them when it emits memory blits to pass/return structs. | |||
2016-04-23 | correctly update nuse for jump arguments | Quentin Carbonneaux | |
2016-04-22 | use short for classes (so it is signed for sure) | Quentin Carbonneaux | |
2016-04-22 | update documentation with new fp conversions | Quentin Carbonneaux | |
2016-04-22 | refine fp conversion instructions | Quentin Carbonneaux | |
2016-04-22 | make sure type sizes never overflow | Quentin Carbonneaux | |
2016-04-21 | oops fix wrong instruction names in doc | Quentin Carbonneaux | |
2016-04-21 | cosmetics in all.h | Quentin Carbonneaux | |
2016-04-21 | make mcc runable from anywhere | Quentin Carbonneaux | |
2016-04-20 | disallow phi nodes in the start block | Quentin Carbonneaux | |
AFL found this bug. | |||
2016-04-20 | support calls with no return | Quentin Carbonneaux | |
I thought it would be harder (and maybe it is). My fear was that a call must be always followed by a parallel move from machine registers (this is an assumption in both spill and rega). This however remains true, because the ABI code generates a dummy "copy RAX" by accident! | |||
2016-04-20 | normalize case in token names | Quentin Carbonneaux | |
2016-04-20 | match jumps/ops with il text | Quentin Carbonneaux | |
2016-04-19 | add compilation instructions | Quentin Carbonneaux | |
2016-04-19 | use assert for ssa invariants in fold/copy | Quentin Carbonneaux | |
2016-04-19 | check for trivial undefined uses in ssacheck | Quentin Carbonneaux | |
2016-04-19 | rename only live phi arguments in fold | Quentin Carbonneaux | |
AFL found that. | |||
2016-04-18 | add tool to process afl results | Quentin Carbonneaux | |
2016-04-18 | factor some subtyping logic in clsmerge() | Quentin Carbonneaux | |
2016-04-18 | phis can assign slots after spill | Quentin Carbonneaux | |
2016-04-18 | make sure non-register temporaries get a slot | Quentin Carbonneaux | |
Inside the main instruction-processing loop, it is taken care of by limit. However at block boundaries we are doing fancy bitset operations without calling limit. | |||
2016-04-18 | output debug to stderr in spiller | Quentin Carbonneaux | |
2016-04-18 | do not rewrite overwritten slots in memopt | Quentin Carbonneaux | |
2016-04-17 | compute dead phi args correctly in fold | Quentin Carbonneaux | |
The code computing if "the" edge of a phi argument is live or dead was wrong. AFL found that. | |||
2016-04-16 | use unsigned long long for bits | Quentin Carbonneaux | |
2016-04-16 | support trailing , in types/args/params | Ori Bernstein | |
2016-04-16 | fix relic error message | Quentin Carbonneaux | |
2016-04-13 | add regression test for liveon bug | Quentin Carbonneaux | |
2016-04-13 | add regression test for fixarg bug | Quentin Carbonneaux | |
2016-04-13 | call fixarg on the correct instruction | Quentin Carbonneaux | |
Because one call to fixarg can emit an instruction, using curi, for the second fixarg calls patched is incorrect. AFL found that bug. | |||
2016-04-13 | add funny 80 target | Quentin Carbonneaux | |
2016-04-13 | oops, memcpy -> memmove | Quentin Carbonneaux | |
2016-04-13 | check types on assignments | Quentin Carbonneaux | |
2016-04-13 | turn alignment asserts into err() | Quentin Carbonneaux | |
2016-04-13 | handle odd jumps in blkdel() an renblk() | Quentin Carbonneaux | |
2016-04-13 | do not compute def-use links for regs | Quentin Carbonneaux | |
2016-04-13 | hack an ssa validator (likely buggy) | Quentin Carbonneaux | |
2016-04-13 | add unsigned comparisons to emit | Quentin Carbonneaux | |
2016-04-13 | handle the bad jump case | Quentin Carbonneaux | |