summary refs log tree commit diff
AgeCommit message (Collapse)Author
2016-03-27fix wrong path in pmovQuentin Carbonneaux
2016-03-27compile pmov to cwdQuentin Carbonneaux
2016-03-27move paper synchronization to top makefileQuentin Carbonneaux
2016-03-27move tools to the rootQuentin Carbonneaux
2016-03-27add centralized all and clean targetsQuentin Carbonneaux
2016-03-27append instead of clobber CFLAGSQuentin Carbonneaux
2016-03-27use make variable for extensibilityQuentin Carbonneaux
2016-03-27extract tests out of srcQuentin Carbonneaux
2016-03-25compatibility fixes for mac osQuentin Carbonneaux
2016-03-25great renaming campain!Quentin Carbonneaux
2016-03-25mark diag() as non-returningQuentin Carbonneaux
2016-03-25update pmov test to work with new regallocQuentin Carbonneaux
2016-03-24dark types are called opaque in the docQuentin Carbonneaux
2016-03-24change IR to ILQuentin Carbonneaux
2016-03-23typos in llvm.txt (thanks lucie)Quentin Carbonneaux
2016-03-23add comparison to llvmQuentin Carbonneaux
2016-03-22allow testing the two directions in abitestQuentin Carbonneaux
2016-03-22bake more fancy in abitest.shQuentin Carbonneaux
2016-03-22fix struct size computationQuentin Carbonneaux
2016-03-22fix incorrect size suffix in abi fuzzerQuentin Carbonneaux
2016-03-22check for overflow in ssa.c (abi fuzzer)Quentin Carbonneaux
2016-03-22store 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-22typo in lexing table (abi fuzzer)Quentin Carbonneaux
2016-03-22typo in isel (abi fuzzer)Quentin Carbonneaux
2016-03-22cleanup at the end of abitest.shQuentin Carbonneaux
2016-03-22dumb switch mistake in isel (abi fuzzer)Quentin Carbonneaux
2016-03-22fix bug in type definitions in abi.mlQuentin Carbonneaux
2016-03-22fix 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-21add the ability to run with a seedQuentin Carbonneaux
2016-03-21fix bug in IL checkingQuentin Carbonneaux
2016-03-21compile tests with debug optionsQuentin Carbonneaux
2016-03-21add abitest.sh toolQuentin Carbonneaux
2016-03-21wrap up abi.ml with a main functionQuentin Carbonneaux
2016-03-21tools/abi.ml seems to workQuentin Carbonneaux
2016-03-20start il generationQuentin Carbonneaux
2016-03-20finish OutC, use uniform distributionsQuentin Carbonneaux
2016-03-20ocaml and c chars are incompatibleQuentin Carbonneaux
2016-03-19start C dumpingQuentin Carbonneaux
2016-03-19add code to generate typesQuentin Carbonneaux
2016-03-18start work on an abi fuzzerQuentin Carbonneaux
2016-03-18calls now use rax all the time...Quentin Carbonneaux
2016-03-18remove spurious assignments in regaQuentin Carbonneaux
2016-03-18more thorough abi testingQuentin Carbonneaux
2016-03-18oops, nul terminate string tokensQuentin Carbonneaux
2016-03-18lamely handle swap of sse registersQuentin Carbonneaux
2016-03-18handle padding correctly in typesQuentin Carbonneaux
2016-03-18set eax before call (for variadics...)Quentin Carbonneaux
2016-03-18tentative support of calls with struct returnQuentin Carbonneaux
2016-03-18factor return registers computationQuentin Carbonneaux
2016-03-18small 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.