aboutsummaryrefslogtreecommitdiffstats
path: root/arm/AsmToJSON.ml
Commit message (Collapse)AuthorAgeFilesLines
* Implement a `Osel` operation for ARMXavier Leroy2019-05-201-1/+2
| | | | | The operation comples down to conditional moves. Both integer and floating-point conditional moves are supported.
* Generate a nop instruction after some ais annotations (#137)Bernhard Schommer2018-09-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Print symbols as symbols.Bernhard Schommer2018-03-081-16/+16
| | | | | | This allows us to replacing them by their address in valex and additionally checking them. Bug 22438
* Also use binary output for arm. Fix 23172Bernhard Schommer2018-03-071-1/+1
|
* Refactor the handling of errors and warnings (#44)Bernhard Schommer2018-02-081-1/+1
| | | | | | | | | | | | | | | | | * Module Cerrors is now called Diagnostic and can be used in parts of CompCert other than cparser/ * Replaced eprintf error. Instead of having eprintf msg; exit 2 use the functions from the Diagnostics module. * Raise on error before calling external tools. * Added diagnostics to clightgen. * Fix error handling of AsmToJson. * Cleanup error handling of Elab and C2C. *The implementation of location printing (file & line) is simplified and correctly prints valid filenames with invalid lines.
* Remove mnemonics not exported to JSON from mnemonics listMichael Schmidt2018-01-091-4/+4
|
* Change AsmToJson to be similar to other printers.Bernhard Schommer2018-01-051-3/+11
|
* Introduce 'cmn' instruction and optimize compare-with-immediate when negated ↵Michael Schmidt2017-12-151-1/+2
| | | | immediates can be encoded.
* Moved constant expansion into Asmexpand. (#40)Bernhard Schommer2017-12-141-10/+29
| | | | | This commit introduces a new pass which is run after the expansion of the builtin functions which performs the expansion and placement of constants inside the function code.
* Export configured architecture to JSON (#38)Michael Schmidt2017-12-131-3/+3
| | | The architecture which was configured is now exported in a new top-level json field.
* Added json export for the abstract ARM AssemblerBernhard Schommer2017-11-201-3/+273
| | | | | | | The json export for the abstract ARM Assembler is quite similar to it's PowerPC equivalent expect for the different instruction arguments. Bug 22472
* Added dump-mnemonics option.Bernhard Schommer2017-09-251-0/+2
| | | | | | This option allows it to dump a list of all used mnemonics into a file. Bug 22239
* Formatted json printing.Bernhard Schommer2017-06-281-2/+2
| | | | | | | | | Instead of just dumping the json output it is now a little bit formatted for better reading. Furthermore the AsmToJson function for the non powerpc targets now prints the json value "null" sucht that the resulting json file is valid json.
* Fixed minor typos in the comments.Bernhard Schommer2015-10-041-1/+1
|
* Added the first version of the sdump export to json.Bernhard Schommer2015-04-271-0/+18