aboutsummaryrefslogtreecommitdiffstats
path: root/arm/AsmToJSON.ml
Commit message (Collapse)AuthorAgeFilesLines
* missing cases preventing compilationDavid Monniaux2020-04-081-0/+1
|
* Revert "Remove `__builtin_nop` for some architectures. (#208)"Bernhard Schommer2020-01-031-1/+2
| | | | This reverts commit 4dfcd7d4be18e8bc437ca170782212aa06635a95.
* Remove `__builtin_nop` for some architectures. (#208)Bernhard Schommer2019-12-211-2/+1
| | | | | | | The `__builtin_nop` function is documented only for PowerPC. It was added to the other architectures by copy paste, but has no known uses. So, remove `__builtin_nop` from all architectures but PowerPC.
* Reworked json export.Bernhard Schommer2019-09-121-18/+22
| | | | | | | | | | | | | | The json export prints formatted json, which takes a lot of additional time, however the result is only consumed by other tools and not meant for human reading. This commit implements several small changes in order to speedup the json export: * Removal of usage of the Format Module * Replacing `fprintf` calls by calls to function that print directly, such as `output_string`, etc. * Replacing list of all instruction names by a set of all instructions
* Added Pfmovite to list of known mnemonic names.Bernhard Schommer2019-06-061-1/+1
|
* 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