summary refs log tree commit diff
path: root/tools
AgeCommit message (Collapse)Author
2022-11-27new hlt block terminatorQuentin Carbonneaux
It is handy to express when the end of a block cannot be reached. If a hlt terminator is executed, it traps the program. We don't go the llvm way and specify execution semantics as undefined behavior.
2022-10-03new arm64_apple targetQuentin Carbonneaux
Should make qbe work on apple arm-based hardware.
2022-10-03parse sb,ub,sh,uh abi typesQuentin Carbonneaux
2022-08-31regenerate test/vararg2.ssaQuentin Carbonneaux
- update the test generation script to match some manual changes - fix some variadic calls to printf - add a test case where an odd number of slots is used on the stack before varargs
2022-06-14tools/test.sh: Without a TARGET, use $CC if definedHaelwenn (lanodan) Monnier
cc can be absent in Gentoo to make sure the right compiler is picked, for example when clang is preferred or when cross-compiling.
2022-06-14Makefile: POSIXifyilliliti
Makefile now compatible with gmake, bmake, smake and pdpmake.
2022-03-15detect target in testsQuentin Carbonneaux
2022-03-10new abi stress testQuentin Carbonneaux
2022-02-25disable pie for rv64 testsQuentin Carbonneaux
2022-02-17add rv64 backendMichael Forney
It is mostly complete, but still has a few ABI bugs when passing floats in structs, or when structs are passed partly in register, and partly on stack.
2022-01-28update token hash paramsQuentin Carbonneaux
2022-01-23Add a negation instructionEyal Sawady
Necessary for floating-point negation, because `%result = sub 0, %operand` doesn't give the correct sign for 0/-0.
2021-10-26use unified diff format for test outputMichael Forney
This make it easier to understand the differences.
2021-10-17use -static when cross-compiling testsQuentin Carbonneaux
2021-08-23test: include exit status in test failure reasonMichael Forney
This was intended, but was missing due to a typo in the test status variable.
2021-03-18use toolchain to determine aarch64 sysroot pathMichael Forney
2021-03-18Revert "arm64: try qemu-system-aarch64"Michael Forney
This reverts commit be3a67a7f5079f30b0ccc696d549fd03a2dbbad1. qemu-system-aarch64 is a full system emulator and is not suitable for running the qbe test suite (at least without a kernel and root filesystem).
2021-03-02disable pie for arm64 testsQuentin Carbonneaux
2021-03-02arm64: try qemu-system-aarch64Reini Urban
2021-03-02add data $name = section "section" ...Drew DeVault
This allows you to explicitly specify the section to emit the data directive for, allowing for sections other than .data: for example, .bss or .init_array.
2019-05-05add asm diffing in test scriptQuentin Carbonneaux
2019-03-14Rearrange the fields in Ins so the bit-fields get packed togetherMichael Forney
2017-10-07fix compiler command in testccEugene Sharygin
This commit adds missing quotation marks around the argument to the function, and changes the value of `-x' option to `c` (lowercase) as per GCC manual [1]. [1]: https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Overall-Options.html
2017-09-25adjust test.sh for ubuntuQuentin Carbonneaux
2017-04-11unscrew freebsd testsQuentin Carbonneaux
2017-04-09always disable pie in testsQuentin Carbonneaux
2017-04-08misc fixes for osxQuentin Carbonneaux
With the default toolchain, it looks like we have to make sure all symbols are loaded using rip-relative addressing.
2017-04-08add cross testing for arm64Quentin Carbonneaux
2017-02-15add support for closure callsQuentin Carbonneaux
Compiling languages with closures often requires passing an extra environment parameter to the called function. One solution is to use a convention, and reserve, say, the first argument for that purpose. However, that makes binding to C a little less smooth. Alternatively, QBE now provides a way to remain fully ABI compatible with C by having a "hidden" environment argument (marked with the keyword 'env'). Calling a function expecting an environment from C will make the contents of the environment undefined, but the normal arguments will be passed without alteration. Conversely, calling a C function like it is a closure by passing it an environemnt will work smoothly.
2017-02-10tests for variable argument listsQuentin Carbonneaux
2017-02-10support variable argument listsQuentin Carbonneaux
This change is backward compatible, calls to "variadic" functions (like printf) must now be annotated (with ...).
2017-01-04attempt to fix cc flags in testsQuentin Carbonneaux
2017-01-04more performance improvements in the parserQuentin Carbonneaux
2016-12-31minor bugs in lexh toolQuentin Carbonneaux
2016-12-30new tool to improve lexing speedQuentin Carbonneaux
2016-12-05disable pie (default on some os)Quentin Carbonneaux
2016-10-24return non-zero when tests failQuentin Carbonneaux
2016-10-19improve tests output for contbuildQuentin Carbonneaux
2016-08-16update help message of unit testerQuentin Carbonneaux
2016-04-18add tool to process afl resultsQuentin Carbonneaux
2016-03-29get more entropy in callgen.mlQuentin Carbonneaux
2016-03-29new layout, put LICENSE in rootQuentin Carbonneaux
2016-03-28implement export controlQuentin Carbonneaux
2016-03-27mac os compatibility fixes in scriptsQuentin Carbonneaux
2016-03-27free memory in pmov testQuentin Carbonneaux
2016-03-27fix path in regressQuentin Carbonneaux
2016-03-27fix wrong path in pmovQuentin Carbonneaux
2016-03-27compile pmov to cwdQuentin Carbonneaux
2016-03-27move tools to the rootQuentin Carbonneaux