aboutsummaryrefslogtreecommitdiffstats
path: root/backend/PrintAsmaux.ml
Commit message (Collapse)AuthorAgeFilesLines
* Track the locations of local variables using EF_debug annotations.Xavier Leroy2015-08-231-8/+20
| | | | | | | | | | | | | | SimplLocals: - record locations of stack-allocated variables with annotations (of kind 5) at the beginning of the function; - mark every assignment to non-stack-allocated variables with an annotation of kind 2. Debugvar: (new pass!) - perform availability analysis for debug annotations of kind 2 - insert "start of live range" and "end of live range" annotations (kind 3 and 4) to delimit intervals of PCs where the location of a local variable is known.
* Renaming {BA,BR}_longofwords -> {BA,BR}_splitlong.Xavier Leroy2015-08-221-13/+18
| | | | | | | | Use EF_debug instead of EF_annot for line number annotations. Introduce PrintAsmaux.print_debug_info (very incomplete). powerpc/Asmexpand: revise expand_memcpy_small.
* Simplify the handling of extended inline asm, taking advantage of the new, ↵Xavier Leroy2015-08-211-5/+24
| | | | structured builtin arguments and results.
* Refactoring of builtins and annotations in the back-end.Xavier Leroy2015-08-211-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Removed the version from the compcert.ini file and add it again in a ↵Bernhard Schommer2015-07-011-1/+1
| | | | separate file.
* Merged PrintAnnot into PrintAsmaux.Bernhard Schommer2015-05-141-0/+160
|
* Started implementing the printing functions for the debug info. Added a ↵Bernhard Schommer2015-03-161-0/+5
| | | | global target dependend option to activate the printing only for targets wher it works.
* Started integrating the debug printing in the common backend_printer.Bernhard Schommer2015-03-111-0/+3
|
* Removed unused sel_target, changed cygwin symbol names and changed the ↵Bernhard Schommer2015-02-191-0/+1
| | | | default function aligment to be target dependent.
* Added an elf prefix to all common elf functions in PrintAsmaux.Bernhard Schommer2015-02-181-13/+11
|
* Changed print_fun/var_info to be functions instead of booleans.Bernhard Schommer2015-02-181-2/+2
|
* Changed arm backend to the common backend printer.Bernhard Schommer2015-02-091-1/+1
|
* Changed the ia32 backend to the new Printer.Bernhard Schommer2015-02-061-0/+5
|
* Changed the ASM printer of the powerpc to the generalized backend.Bernhard Schommer2015-02-051-2/+4
|
* Moved more common functions into a seperate file.Bernhard Schommer2015-02-041-2/+46
|
* Started moving common backend functions into one file.Bernhard Schommer2015-02-031-0/+84