aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Adapt the PowerPC port to the new builtin representation.Xavier Leroy2015-08-2110-258/+285
| | | | | | | __builtin_get_spr() and __builtin_set_spr() work, but horrible error message if the SPR argument is not a constant. powerpc/AsmToJSON.ml needs updating.
* Added builtin for the dcbf instructionBernhard Schommer2015-08-175-0/+9
|
* Merge pull request #46 from AbsInt/asmexpandXavier Leroy2015-08-171-44/+11
|\ | | | | Merge branch 'asmexpand' of github.com:AbsInt/CompCert
| * Merge branch 'master' into asmexpandBernhard Schommer2015-07-144-17/+419
| |\
| * | Merge branch 'asmexpand' of github.com:AbsInt/CompCertBernhard Schommer2015-06-261-44/+11
| | |
| * | Revert "Merge branch 'asmexpand' of github.com:AbsInt/CompCert"Bernhard Schommer2015-06-261-11/+44
| | | | | | | | | | | | | | | This reverts commit 777566e81b9762d6bdc773a1f63d56a7ac97433c, reversing changes made to daf9ac64fc9611ecf09d70560a6fa1ba80b9c9c1.
| * | Merge branch 'asmexpand' of github.com:AbsInt/CompCertBernhard Schommer2015-06-261-44/+11
| |\ \
| | * | Moved the printing of the builtin functions etc. into Asmexpand for ARM in ↵Bernhard Schommer2015-06-101-44/+11
| | | | | | | | | | | | | | | | the same way as it is done for PPC.
* | | | Added builtin for the dcbi instruction.Bernhard Schommer2015-08-175-4/+11
| | | |
* | | | Added builitin for the icbi instruction.Bernhard Schommer2015-08-145-1/+11
| | | |
* | | | Added builtin for the lwsync barrier.Bernhard Schommer2015-08-145-3/+12
| | | |
* | | | Value analysis: keep track of pointer values that leak through small ↵Xavier Leroy2015-07-192-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 Leroy2015-07-191-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 Leroy2015-07-071-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 Schommer2015-07-061-17/+18
| | | | | | | | | | | | Simplified printing of storage class.
* | | Merge branch 'master' into json_exportBernhard Schommer2015-07-064-15/+54
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: driver/Driver.ml
| * | | Corrected little typo in __builtin_clz function.Bernhard Schommer2015-07-063-5/+5
| | | |
| * | | Simple path for problems whith diab assembler in the case of functions in ↵Bernhard Schommer2015-07-031-9/+48
| |/ / | | | | | | | | | different sections.
* | | Print bit representation of floats.Bernhard Schommer2015-06-241-5/+6
| | |
* | | Fixed typo also in json export.Bernhard Schommer2015-06-221-1/+1
| | |
* | | Merge branch 'master' into json_exportBernhard Schommer2015-06-223-5/+5
|\| |
| * | Changed a minor typo: Pstwxu should be PstwuxBernhard Schommer2015-06-223-5/+5
| |/
* | Merged instructions that are printed as same instruction already in printer.Bernhard Schommer2015-05-291-26/+26
| |
* | Updated the printing of iniline asm and simplified some structures.Bernhard Schommer2015-05-181-136/+118
| |
* | Merge branch 'master' into json_exportBernhard Schommer2015-05-185-41/+65
|\|
| * Merged PrintAnnot into PrintAsmaux.Bernhard Schommer2015-05-141-6/+6
| |
| * Updated PrintOp for the single-precision FP operations.Xavier Leroy2015-05-091-0/+8
| |
| * Extended inline asm: revised treatment of clobbered registers.Xavier Leroy2015-05-093-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 Schommer2015-05-061-26/+48
| | | | | | | | unused information from the json dump.
* | Removed printing of information for internals and externals that should be ↵Bernhard Schommer2015-05-051-49/+28
| | | | | | | | folded away prior.
* | Merge branch 'master' into json_exportBernhard Schommer2015-05-051-35/+35
|\|
| * Long-overdue renaming: val_inject -> Val.inject, etc, for consistency with ↵Xavier Leroy2015-04-301-35/+35
| | | | | | | | Val.lessdef, etc.
* | Added the first version of the sdump export to json.Bernhard Schommer2015-04-271-0/+377
|/
* Allow "scratch" (non-allocatable temporary registers) to be mentioned in asm ↵Xavier Leroy2015-04-232-1/+4
| | | | clobber lists.
* Take asm clobbers into account for determining callee-save registers used.Xavier Leroy2015-04-232-0/+8
|
* Cleanups and updates for extended asm.Xavier Leroy2015-04-211-2/+1
|
* Support for GCC-style extended asm, continued:Xavier Leroy2015-04-212-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 Leroy2015-04-173-7/+16
|
* Merge branch 'master' into dwarfBernhard Schommer2015-04-028-52/+54
|\
| * Ccompuimm now depends on the memory, this is needed to proof the Lemma ↵Bernhard Schommer2015-04-021-2/+3
| | | | | | | | op_depends_on_memory_correct.
| * Updating the PowerPC and ARM ports.Xavier Leroy2015-03-277-50/+51
| | | | | | | | PowerPC: always use full register names to print annotations.
* | Print all files ever encountered in the filenum.Bernhard Schommer2015-04-011-4/+3
| |
* | Started implementing the printing functions for the debug info. Added a ↵Bernhard Schommer2015-03-161-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 Schommer2015-03-111-6/+54
|/
* 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-6/+17
|
* 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-2/+2
|
* Changed the ia32 backend to the new Printer.Bernhard Schommer2015-02-061-5/+2
|
* Changed the ASM printer of the powerpc to the generalized backend.Bernhard Schommer2015-02-053-803/+744
|