aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Unusedglobproof.v
Commit message (Collapse)AuthorAgeFilesLines
* Stricter control of permissions in memory injections and extensionsXavier Leroy2016-06-221-0/+11
| | | | As suggested by Lennart Beringer, this commits strengthens memory injections and extensions so as to guarantee that the permissions of existing memory locations are not increased by the injection/extension. The only increase of permissions permitted is empty locations in the source memory state of the injection/extension being mapped to nonempty locations.
* Update the back-end proofs to the new linking framework.Xavier Leroy2016-03-061-509/+611
|
* Updated PR by removing whitespaces. Bug 17450.Bernhard Schommer2015-10-201-207/+207
|
* Refactoring of builtins and annotations in the back-end.Xavier Leroy2015-08-211-47/+35
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Long-overdue renaming: val_inject -> Val.inject, etc, for consistency with ↵Xavier Leroy2015-04-301-17/+17
| | | | Val.lessdef, etc.
* Extend annotations so that they can keep track of global variables and local ↵Xavier Leroy2015-03-271-0/+77
| | | | | | | | | | variables whose address is taken. - CminorSel, RTL: add "annot" instructions. - CminorSel to Asm: use type "annot_arg" for arguments of "annot" instructions. - AST, Events: simplify EF_annot because constants are now part of the arguments. Implementation is not complete yet.
* Introduce symbol environments (type Senv.t) as a restricted view on global ↵Xavier Leroy2014-11-261-3/+3
| | | | environments (type Genv.t). Use symbol environments instead of global environments for external functions (module Events).
* Verification of the Unusedglob pass (removal of unreferenced static global ↵Xavier Leroy2014-11-241-0/+1256
definitions). Assorted changes to ia32/Op.v. PowerPC and ARM need updating.