aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Asmexpandaux.ml
Commit message (Collapse)AuthorAgeFilesLines
* Simplified code. Bug 24067Bernhard Schommer2018-09-121-8/+8
|
* Generate a nop instruction after some ais annotations (#137)Bernhard Schommer2018-09-121-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | * Generate a nop instruction after ais annotations. In order to prevent the merging of ais annotations with following Labels a nop instruction is inserted, but only if the annotation is followed immediately by a label. The insertion of nop instructions is performed during the expansion of builtin and pseudo assembler instructions and is processor independent, by inserting a __builtin_nop built-in. * Add Pnop instruction to ARM, RISC-V, and x86 ARM as well as RISC-V don't have nop instructions that can be easily encoded by for example add with zero instructions. For x86 we used to use `mov X0, X0` for nop but this may not be as efficient as the true nop instruction. * Implement __builtin_nop on all supported target architectures. This builtin is not yet made available on the C side for all architectures. Bug 24067
* Extend builtin arguments with a pointer addition operatorXavier Leroy2017-07-061-1/+2
| | | | | | This extension enables more addressing modes to be encoded as builtin arguments and used in conjunction with volatile memory accesses. Current status: x86 port only, the only new addressing mode handled is reg + offset.
* Added interface for the Asmexpansion.Bernhard Schommer2016-03-161-0/+9
| | | | | | Hide the reference used internally behind the interface and added some functions to access the needed values. Bug 18394
* bug 17392: remove trailing whitespace in source filesMichael Schmidt2015-10-141-11/+11
|
* Changed definition of implem for debug information.Bernhard Schommer2015-10-121-2/+1
| | | | | | | Instead of making each filed mutuable we use a reference to a record of type implem. Now only the default implementation and the default debug information need to be upated to add a new function. Bug 17392.
* Changed expand_debug to emit less labels.Bernhard Schommer2015-10-121-0/+1
| | | | | | If a label is printed before a list of debug annotations we can use it for the debug annotations and don't need to add an extra label. Bug 17392
* Filled in missing functions for debug information on ia32.Bernhard Schommer2015-10-091-3/+24
| | | | | | Like for arm and ppc the functions for section names and start and end addresses of compilation units are defined and the print_annot function is moved to Asmexpandaux.ml.
* Moved expandation of debug information to Asmexpandaux.Bernhard Schommer2015-10-081-0/+69
| | | | | | The function is generalized to work for all backends and takes as additional arguments functions for the printing of the simple instructions and the translation function for the arguments.
* Merge branch 'asmexpand' of github.com:AbsInt/CompCertBernhard Schommer2015-06-261-0/+57
|
* Revert "Merge branch 'asmexpand' of github.com:AbsInt/CompCert"Bernhard Schommer2015-06-261-57/+0
| | | | | This reverts commit 777566e81b9762d6bdc773a1f63d56a7ac97433c, reversing changes made to daf9ac64fc9611ecf09d70560a6fa1ba80b9c9c1.
* Moved the printing of the builtin functions etc. into Asmexpand for ARM in ↵Bernhard Schommer2015-06-101-0/+57
the same way as it is done for PPC.