aboutsummaryrefslogtreecommitdiffstats
path: root/ia32/Asmexpand.ml
Commit message (Collapse)AuthorAgeFilesLines
* Improve error reporting in Asmexpand.Xavier Leroy2015-08-241-10/+38
|
* Renaming {BA,BR}_longofwords -> {BA,BR}_splitlong.Xavier Leroy2015-08-221-11/+11
| | | | | | | | Use EF_debug instead of EF_annot for line number annotations. Introduce PrintAsmaux.print_debug_info (very incomplete). powerpc/Asmexpand: revise expand_memcpy_small.
* Merge branch 'master' into 'new-builtins'Xavier Leroy2015-08-211-85/+93
|\
| * Asmexpand for ARM: fixed bug in Pfreeframe.Xavier Leroy2015-08-211-2/+2
| | | | | | | | Plus: update comments and credit Bernhard Schommer.
| * Consistent naming of "P" instructions and consistent ordering of argumentsXavier Leroy2015-08-211-95/+94
| | | | | | | | according to Intel convention (instr destination, argument).
| * Fixed bugs in asm expansion causing the test suite to fail.Xavier Leroy2015-08-211-13/+20
| | | | | | | | More bugs remain.
* | Refactoring of builtins and annotations in the back-end.Xavier Leroy2015-08-211-84/+84
|/ | | | | | | | | | | | | | | | | | | | | | | | Before, the back-end languages had distinct instructions - Iannot for annotations, taking structured expressions (annot_arg) as arguments, and producing no results' - Ibuiltin for other builtins, using simple pseudoregs/locations/registers as arguments and results. This branch enriches Ibuiltin instructions so that they take structured expressions (builtin_arg and builtin_res) as arguments and results. This way, - Annotations fit the general pattern of builtin functions, so Iannot instructions are removed. - EF_vload_global and EF_vstore_global become useless, as the same optimization can be achieved by EF_vload/vstore taking a structured argument of the "address of global" kind. - Better code can be generated for builtin_memcpy between stack locations, or volatile accesses to stack locations. Finally, this commit also introduces a new kind of external function, EF_debug, which is like EF_annot but produces no observable events. It will be used later to transport debug info through the back-end, without preventing optimizations.
* Merge branch 'asmexpand' of github.com:AbsInt/CompCertBernhard Schommer2015-06-261-0/+373
|
* Revert "Merge branch 'asmexpand' of github.com:AbsInt/CompCert"Bernhard Schommer2015-06-261-373/+0
| | | | | This reverts commit 777566e81b9762d6bdc773a1f63d56a7ac97433c, reversing changes made to daf9ac64fc9611ecf09d70560a6fa1ba80b9c9c1.
* Moved the rest of the ia32 builtins to asmexpand.Bernhard Schommer2015-06-221-20/+236
|
* Started moving functions from TargetPrinter.ml to Asmexpand.ml for ia32.Bernhard Schommer2015-06-181-0/+157
|
* PowerPC port: refactored the expansion of built-in functions andxleroy2014-07-281-0/+18
pseudo-instructions so that it does not need to be re-done in cchecklink. cchecklink: updated accordingly. testsuite: compile with -sdump and run cchecklink if supported. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2553 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e