Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | | Value analysis: keep track of pointer values that leak through small ↵ | Xavier Leroy | 2015-07-19 | 2 | -21/+21 | |
| | | | | | | | | | | | | | | | | | | | | | | | | integers with Uns or Sgn abstract values. This is a follow-up to commit 2932b53. It adds provenance tracking to the Uns and Sgn abstract values. | |||||
* | | | | Value analysis: keep track of pointer values that leak through arithmetic ↵ | Xavier Leroy | 2015-07-19 | 1 | -2/+2 | |
| |_|/ |/| | | | | | | | | | | | | | | operations with undefined behaviors. Consider (x ^ 1) ^ 1 where x is a intptr_t containing a pointer value. "x ^ 1" evaluates to Vundef in the CompCert semantics, hence the value analysis, in strict mode, gives abstract result Ifptr Pbot (= any number but not a pointer). In relaxed mode, we now give abstract result Ifptr (poffset p) where p is the abstraction of the pointer, thus keeping track of the actual leak of the pointer value. | |||||
* | | | Set/clear CR6 before calling an unprototyped function. | Xavier Leroy | 2015-07-07 | 1 | -3/+4 | |
| | | | | | | | | | | | | | | | | | | A function declared without a prototype could be implemented by a vararg function (even though this is undefined behavior in C99). Be nice in this case. | |||||
* | | | Use the functions from C2C to extract the information for the atoms. ↵ | Bernhard Schommer | 2015-07-06 | 1 | -17/+18 | |
| | | | | | | | | | | | | Simplified printing of storage class. | |||||
* | | | Merge branch 'master' into json_export | Bernhard Schommer | 2015-07-06 | 4 | -15/+54 | |
|\ \ \ | | | | | | | | | | | | | | | | | Conflicts: driver/Driver.ml | |||||
| * | | | Corrected little typo in __builtin_clz function. | Bernhard Schommer | 2015-07-06 | 3 | -5/+5 | |
| | | | | ||||||
| * | | | Simple path for problems whith diab assembler in the case of functions in ↵ | Bernhard Schommer | 2015-07-03 | 1 | -9/+48 | |
| |/ / | | | | | | | | | | different sections. | |||||
* | | | Print bit representation of floats. | Bernhard Schommer | 2015-06-24 | 1 | -5/+6 | |
| | | | ||||||
* | | | Fixed typo also in json export. | Bernhard Schommer | 2015-06-22 | 1 | -1/+1 | |
| | | | ||||||
* | | | Merge branch 'master' into json_export | Bernhard Schommer | 2015-06-22 | 3 | -5/+5 | |
|\| | | ||||||
| * | | Changed a minor typo: Pstwxu should be Pstwux | Bernhard Schommer | 2015-06-22 | 3 | -5/+5 | |
| |/ | ||||||
* | | Merged instructions that are printed as same instruction already in printer. | Bernhard Schommer | 2015-05-29 | 1 | -26/+26 | |
| | | ||||||
* | | Updated the printing of iniline asm and simplified some structures. | Bernhard Schommer | 2015-05-18 | 1 | -136/+118 | |
| | | ||||||
* | | Merge branch 'master' into json_export | Bernhard Schommer | 2015-05-18 | 5 | -41/+65 | |
|\| | ||||||
| * | Merged PrintAnnot into PrintAsmaux. | Bernhard Schommer | 2015-05-14 | 1 | -6/+6 | |
| | | ||||||
| * | Updated PrintOp for the single-precision FP operations. | Xavier Leroy | 2015-05-09 | 1 | -0/+8 | |
| | | ||||||
| * | Extended inline asm: revised treatment of clobbered registers. | Xavier Leroy | 2015-05-09 | 3 | -35/+51 | |
| | | | | | | | | | | | | | | | | | | | | - Treat clobbered registers as being destroyed by EF_inline_asm builtins (which is the truth, semantically). - To enable the above, represent clobbers as Coq strings rather than idents and move register_by_name from Machregsaux.ml to Machregs.v. - Side benefit: more efficient implementation of Machregsaux.name_of_register. -# Please enter the commit message for your changes. Lines starting | |||||
* | | Moved the information needed from the atoms to the ASM printer and removed ↵ | Bernhard Schommer | 2015-05-06 | 1 | -26/+48 | |
| | | | | | | | | unused information from the json dump. | |||||
* | | Removed printing of information for internals and externals that should be ↵ | Bernhard Schommer | 2015-05-05 | 1 | -49/+28 | |
| | | | | | | | | folded away prior. | |||||
* | | Merge branch 'master' into json_export | Bernhard Schommer | 2015-05-05 | 1 | -35/+35 | |
|\| | ||||||
| * | Long-overdue renaming: val_inject -> Val.inject, etc, for consistency with ↵ | Xavier Leroy | 2015-04-30 | 1 | -35/+35 | |
| | | | | | | | | Val.lessdef, etc. | |||||
* | | Added the first version of the sdump export to json. | Bernhard Schommer | 2015-04-27 | 1 | -0/+377 | |
|/ | ||||||
* | Allow "scratch" (non-allocatable temporary registers) to be mentioned in asm ↵ | Xavier Leroy | 2015-04-23 | 2 | -1/+4 | |
| | | | | clobber lists. | |||||
* | Take asm clobbers into account for determining callee-save registers used. | Xavier Leroy | 2015-04-23 | 2 | -0/+8 | |
| | ||||||
* | Cleanups and updates for extended asm. | Xavier Leroy | 2015-04-21 | 1 | -2/+1 | |
| | ||||||
* | Support for GCC-style extended asm, continued: | Xavier Leroy | 2015-04-21 | 2 | -2/+2 | |
| | | | | | | | | - support "r", "m" and "i" constraints - support "%Q" and "%R" modifiers for register pairs - support register clobbers - split off analysis and transformation of asm statements in cparser/ExtendedAsm.ml | |||||
* | Experiment: support a subset of GCC's extended asm statements. | Xavier Leroy | 2015-04-17 | 3 | -7/+16 | |
| | ||||||
* | Merge branch 'master' into dwarf | Bernhard Schommer | 2015-04-02 | 8 | -52/+54 | |
|\ | ||||||
| * | Ccompuimm now depends on the memory, this is needed to proof the Lemma ↵ | Bernhard Schommer | 2015-04-02 | 1 | -2/+3 | |
| | | | | | | | | op_depends_on_memory_correct. | |||||
| * | Updating the PowerPC and ARM ports. | Xavier Leroy | 2015-03-27 | 7 | -50/+51 | |
| | | | | | | | | PowerPC: always use full register names to print annotations. | |||||
* | | Print all files ever encountered in the filenum. | Bernhard Schommer | 2015-04-01 | 1 | -4/+3 | |
| | | ||||||
* | | Started implementing the printing functions for the debug info. Added a ↵ | Bernhard Schommer | 2015-03-16 | 1 | -0/+12 | |
| | | | | | | | | 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 Schommer | 2015-03-11 | 1 | -6/+54 | |
|/ | ||||||
* | Removed unused sel_target, changed cygwin symbol names and changed the ↵ | Bernhard Schommer | 2015-02-19 | 1 | -0/+1 | |
| | | | | default function aligment to be target dependent. | |||||
* | Added an elf prefix to all common elf functions in PrintAsmaux. | Bernhard Schommer | 2015-02-18 | 1 | -6/+17 | |
| | ||||||
* | Changed print_fun/var_info to be functions instead of booleans. | Bernhard Schommer | 2015-02-18 | 1 | -2/+2 | |
| | ||||||
* | Changed arm backend to the common backend printer. | Bernhard Schommer | 2015-02-09 | 1 | -2/+2 | |
| | ||||||
* | Changed the ia32 backend to the new Printer. | Bernhard Schommer | 2015-02-06 | 1 | -5/+2 | |
| | ||||||
* | Changed the ASM printer of the powerpc to the generalized backend. | Bernhard Schommer | 2015-02-05 | 3 | -803/+744 | |
| | ||||||
* | Moved more common functions into a seperate file. | Bernhard Schommer | 2015-02-04 | 1 | -34/+6 | |
| | ||||||
* | Started moving common backend functions into one file. | Bernhard Schommer | 2015-02-03 | 1 | -40/+9 | |
| | ||||||
* | Changed the print_globaldef function of the powerpc backend to look like the ↵ | Bernhard Schommer | 2015-01-28 | 1 | -10/+2 | |
| | | | | functions used in the arm and ia32 backend. | |||||
* | In -g -S mode, annotate the generated asm file with the C source code in ↵ | Xavier Leroy | 2015-01-07 | 1 | -39/+18 | |
| | | | | | | comments. Refactor printing of .loc debug directives in backend/PrintAnnot.ml | |||||
* | Clean up support for common symbols. Uninitialized "const" symbols can be ↵ | Xavier Leroy | 2014-12-17 | 1 | -9/+10 | |
| | | | | common. | |||||
* | Update PowerPC port. | Xavier Leroy | 2014-11-24 | 2 | -21/+51 | |
| | ||||||
* | Verification of the Unusedglob pass (removal of unreferenced static global ↵ | Xavier Leroy | 2014-11-24 | 1 | -67/+0 | |
| | | | | definitions). Assorted changes to ia32/Op.v. PowerPC and ARM need updating. | |||||
* | Refactored the code of powerpc/PrintAsm.ml by moving the function depending ↵ | Bernhard Schommer | 2014-10-08 | 1 | -200/+236 | |
| | | | | on the target system in a seperate module. | |||||
* | Cold feet: suppress builtins for load with reservation/store conditional, ↵ | xleroy | 2014-08-28 | 2 | -11/+1 | |
| | | | | | | use case is unclear. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2622 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e | |||||
* | Rename __builtin_cntlz to __builtin_clz. | xleroy | 2014-08-27 | 2 | -2/+2 | |
| | | | | | | | IA32: add __builtin_clz, __builtin_ctz. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2619 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e | |||||
* | Add builtins for load with reservation and conditional store. | xleroy | 2014-08-20 | 4 | -1/+19 | |
| | | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2613 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e |