Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-03-25 | great renaming campain! | Quentin Carbonneaux | |
2016-03-25 | mark diag() as non-returning | Quentin Carbonneaux | |
2016-03-25 | update pmov test to work with new regalloc | Quentin Carbonneaux | |
2016-03-24 | dark types are called opaque in the doc | Quentin Carbonneaux | |
2016-03-24 | change IR to IL | Quentin Carbonneaux | |
2016-03-23 | typos in llvm.txt (thanks lucie) | Quentin Carbonneaux | |
2016-03-23 | add comparison to llvm | Quentin Carbonneaux | |
2016-03-22 | allow testing the two directions in abitest | Quentin Carbonneaux | |
2016-03-22 | bake more fancy in abitest.sh | Quentin Carbonneaux | |
2016-03-22 | fix struct size computation | Quentin Carbonneaux | |
2016-03-22 | fix incorrect size suffix in abi fuzzer | Quentin Carbonneaux | |
2016-03-22 | check for overflow in ssa.c (abi fuzzer) | Quentin Carbonneaux | |
2016-03-22 | store register usage of ret instructions (abi fuzz) | Quentin Carbonneaux | |
So far I was ignoring register uses of return instructions and it was working because at most one register could be returned. Now that more complex returns are supported it is necessary to keep track of the registers used by returns. The abi fuzzer triggered an assertion failure in the register allocator with the following IL: R1 =l load [%t16] R3 =l load [8 + %t16] ret The regalloc would use R1 for %t16, and then a (nice) assertion realized the inconsistent state because R1 could only be def'd by an assignment to %t16. | |||
2016-03-22 | typo in lexing table (abi fuzzer) | Quentin Carbonneaux | |
2016-03-22 | typo in isel (abi fuzzer) | Quentin Carbonneaux | |
2016-03-22 | cleanup at the end of abitest.sh | Quentin Carbonneaux | |
2016-03-22 | dumb switch mistake in isel (abi fuzzer) | Quentin Carbonneaux | |
2016-03-22 | fix bug in type definitions in abi.ml | Quentin Carbonneaux | |
2016-03-22 | fix incorrect size increment in abi (abi fuzzer) | Quentin Carbonneaux | |
Sizes are expressed in multiples of 4 bytes, so we need to divide the size of aggregate types by four when computing stack offsets. | |||
2016-03-21 | add the ability to run with a seed | Quentin Carbonneaux | |
2016-03-21 | fix bug in IL checking | Quentin Carbonneaux | |
2016-03-21 | compile tests with debug options | Quentin Carbonneaux | |
2016-03-21 | add abitest.sh tool | Quentin Carbonneaux | |
2016-03-21 | wrap up abi.ml with a main function | Quentin Carbonneaux | |
2016-03-21 | tools/abi.ml seems to work | Quentin Carbonneaux | |
2016-03-20 | start il generation | Quentin Carbonneaux | |
2016-03-20 | finish OutC, use uniform distributions | Quentin Carbonneaux | |
2016-03-20 | ocaml and c chars are incompatible | Quentin Carbonneaux | |
2016-03-19 | start C dumping | Quentin Carbonneaux | |
2016-03-19 | add code to generate types | Quentin Carbonneaux | |
2016-03-18 | start work on an abi fuzzer | Quentin Carbonneaux | |
2016-03-18 | calls now use rax all the time... | Quentin Carbonneaux | |
2016-03-18 | remove spurious assignments in rega | Quentin Carbonneaux | |
2016-03-18 | more thorough abi testing | Quentin Carbonneaux | |
2016-03-18 | oops, nul terminate string tokens | Quentin Carbonneaux | |
2016-03-18 | lamely handle swap of sse registers | Quentin Carbonneaux | |
2016-03-18 | handle padding correctly in types | Quentin Carbonneaux | |
2016-03-18 | set eax before call (for variadics...) | Quentin Carbonneaux | |
2016-03-18 | tentative support of calls with struct return | Quentin Carbonneaux | |
2016-03-18 | factor return registers computation | Quentin Carbonneaux | |
2016-03-18 | small fixes in selcall() | Quentin Carbonneaux | |
* Floating point return values are now handled correctly (I thought they were...). * Use counts of the "stack pointer" used for memory arguments are tracked correctly. * Use counts of struct argument pointers are tracked correctly. | |||
2016-03-17 | on the way to clean use counts | Quentin Carbonneaux | |
2016-03-17 | support return of structs | Quentin Carbonneaux | |
2016-03-17 | parse fixes for struct return | Quentin Carbonneaux | |
2016-03-17 | add sync target in doc/ Makefile | Quentin Carbonneaux | |
2016-03-16 | document new shift operations | Quentin Carbonneaux | |
2016-03-16 | add unsigned division and remainder | Quentin Carbonneaux | |
2016-03-16 | add shift instructions | Quentin Carbonneaux | |
2016-03-16 | refine comment of OpDesc.sflag | Quentin Carbonneaux | |
2016-03-16 | document oddity in seljmp() | Quentin Carbonneaux | |