Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Simplified generation of builtins for cache instructions. | Bernhard Schommer | 2015-09-07 | 2 | -60/+21 |
| | | | | | | The cache instructions need no special constraint on the address argument. Therefore also the generation of the address is no longer needed. | ||||
* | Fixed typo in AsmToJSON for instruction Pstfdu. | Bernhard Schommer | 2015-09-04 | 1 | -1/+1 |
| | |||||
* | Added json printing of Pbctr. | Bernhard Schommer | 2015-09-03 | 1 | -1/+1 |
| | |||||
* | Fixed minor typo in printing of the Plbzx instruction in AsmToJSON. | Bernhard Schommer | 2015-09-03 | 1 | -1/+1 |
| | |||||
* | Fixed minor typo in AsmToJSON. | Bernhard Schommer | 2015-09-03 | 1 | -1/+1 |
| | |||||
* | Added builtin for mbar instruction. | Bernhard Schommer | 2015-09-03 | 6 | -0/+15 |
| | | | | This commit adds a builtin function for the mbar instruction. | ||||
* | New builtin for dcbz instruction. | Bernhard Schommer | 2015-09-03 | 5 | -24/+33 |
| | | | | | | This commit adds a builtin for the dcbz instructions. Additionally the dcbt,dcbtst,dcbtls and icbtls instruction are changed to their actually form all taking one additional register in Asm.v. | ||||
* | Added builtin for the icbtls instruction. | Bernhard Schommer | 2015-09-02 | 6 | -0/+19 |
| | | | | This commit adds a builtin for the icbtls instruction. | ||||
* | Allow only CT values of 0 and 2 in dcbtls instruction. | Bernhard Schommer | 2015-09-02 | 2 | -4/+4 |
| | | | | | The dcbtls instruction allows only the values 0 and 2 according to the PPC Isa. | ||||
* | Print p_int_constant instead of p_int in AsmToJSON. | Bernhard Schommer | 2015-09-02 | 1 | -5/+5 |
| | |||||
* | Added builtin for dcbtls | Bernhard Schommer | 2015-09-02 | 6 | -13/+63 |
| | | | | | | THis commit adds a builtin function for the dcbtls instruction. Additionaly it changes the printing of the dcbt and dcbtst instruction to embedded mode and adds support for different address variants. | ||||
* | Added the gcc builtin prefetch. | Bernhard Schommer | 2015-09-01 | 6 | -0/+25 |
| | | | | | | This commit implements the gcc __builtin_prefetch in a form with all arguments for the powerpc architecture. The resulting instructions are the dcbt and dcbtst instructions in Server Category. | ||||
* | Merge branch 'new-builtins' | Bernhard Schommer | 2015-09-01 | 93 | -2597/+4014 |
|\ | |||||
| * | Upgrade the ARM port to the new builtins. | Xavier Leroy | 2015-08-24 | 9 | -211/+260 |
| | | |||||
| * | Improve error reporting in Asmexpand. | Xavier Leroy | 2015-08-24 | 3 | -31/+74 |
| | | |||||
| * | Some "feel good" proofs about avail sets. | Xavier Leroy | 2015-08-23 | 1 | -0/+171 |
| | | |||||
| * | Track the locations of local variables using EF_debug annotations. | Xavier Leroy | 2015-08-23 | 12 | -45/+1030 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Leroy | 2015-08-22 | 27 | -125/+114 |
| | | | | | | | | | | | | | | | | Use EF_debug instead of EF_annot for line number annotations. Introduce PrintAsmaux.print_debug_info (very incomplete). powerpc/Asmexpand: revise expand_memcpy_small. | ||||
| * | Adapt the PowerPC port to the new builtin representation. | Xavier Leroy | 2015-08-21 | 11 | -260/+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. | ||||
| * | Simplify the handling of extended inline asm, taking advantage of the new, ↵ | Xavier Leroy | 2015-08-21 | 3 | -14/+30 |
| | | | | | | | | structured builtin arguments and results. | ||||
| * | Merge branch 'master' into 'new-builtins' | Xavier Leroy | 2015-08-21 | 12 | -185/+206 |
| |\ | |||||
| * | | Refactoring of builtins and annotations in the back-end. | Xavier Leroy | 2015-08-21 | 64 | -2044/+2181 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | | Improve printing of internal compiler errors. | Xavier Leroy | 2015-08-25 | 1 | -2/+2 |
| | | | |||||
* | | | Fixed the -T option. | Bernhard Schommer | 2015-08-25 | 1 | -1/+1 |
| | | | | | | | | | | | | The diab compiler expected -Wm<pathname> without whitespace. | ||||
* | | | Fixed abbreviation of DW_TAG_formal_parameter. | Bernhard Schommer | 2015-08-25 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | Dwarf debuging entries for formal parameters were printed as variables. This could lead to confusion in function pointer types and later with local variables. | ||||
* | | | Fixed error in handling of anonymous struct/union/enum types. | Bernhard Schommer | 2015-08-24 | 1 | -8/+15 |
| | | | | | | | | | | | | Composite types should be always handled by the composite_type_info table and not by the normal type table. | ||||
* | | | Also change the order of high and low pc in the compilation unit tag. | Bernhard Schommer | 2015-08-24 | 1 | -1/+1 |
| | | | |||||
* | | | Count number of input files and do not use number of source files for ↵ | Bernhard Schommer | 2015-08-24 | 1 | -12/+14 |
| | | | | | | | | | | | | warning about no input. | ||||
* | | | Added error message when no input file is specified. | Bernhard Schommer | 2015-08-23 | 1 | -0/+5 |
| | | | |||||
* | | | Revert "Added support for the location of non static global variables." | Bernhard Schommer | 2015-08-23 | 3 | -9/+2 |
| | | | | | | | | | | | | This reverts commit b4846ffadfa3fbb73ffa7d9c43e5218adeece8da. | ||||
* | | | Do not add subsize tag to array types without size such as flexible array ↵ | Bernhard Schommer | 2015-08-23 | 1 | -10/+14 |
| | | | | | | | | | | | | members. | ||||
* | | | Added the directory ../share/compcert to the search path for .ini files and ↵ | Bernhard Schommer | 2015-08-23 | 1 | -9/+12 |
| |/ |/| | | | | | replaced the if else for the different possibilities by a List.find. | ||||
* | | test/regression: test packedstruct1 only if unaligned accesses are supported. | Xavier Leroy | 2015-08-21 | 5 | -6/+15 |
| | | | | | | | | Also: exit on error when a test fails. | ||||
* | | Erase incomplete file .depend.extr if "make depend" fails. | Xavier Leroy | 2015-08-21 | 1 | -3/+2 |
| | | |||||
* | | Don't use strdup(), it is not ISO C99. | Xavier Leroy | 2015-08-21 | 1 | -1/+2 |
| | | |||||
* | | Asmexpand for ARM: fixed bug in Pfreeframe. | Xavier Leroy | 2015-08-21 | 2 | -5/+5 |
| | | | | | | | | Plus: update comments and credit Bernhard Schommer. | ||||
* | | Fix bugs in Asmexpand.ml for ARM. | Xavier Leroy | 2015-08-21 | 1 | -8/+9 |
| | | |||||
* | | Consistent naming of "P" instructions and consistent ordering of arguments | Xavier Leroy | 2015-08-21 | 3 | -174/+171 |
| | | | | | | | | according to Intel convention (instr destination, argument). | ||||
* | | Fixed bugs in asm expansion causing the test suite to fail. | Xavier Leroy | 2015-08-21 | 1 | -13/+20 |
| | | | | | | | | More bugs remain. | ||||
* | | Added command line option to specify a linker command file for the linker. | Bernhard Schommer | 2015-08-20 | 1 | -0/+5 |
|/ | |||||
* | Added support for the location of non static global variables. | Bernhard Schommer | 2015-08-18 | 3 | -2/+9 |
| | |||||
* | Added builtin for the dcbf instruction | Bernhard Schommer | 2015-08-17 | 5 | -0/+9 |
| | |||||
* | Merge pull request #46 from AbsInt/asmexpand | Xavier Leroy | 2015-08-17 | 8 | -615/+1031 |
|\ | | | | | Merge branch 'asmexpand' of github.com:AbsInt/CompCert | ||||
| * | Merge branch 'master' into asmexpand | Bernhard Schommer | 2015-07-14 | 1 | -1/+4 |
| |\ | |||||
| * | | Updated the branch and implemented the suggested changes. | Bernhard Schommer | 2015-07-14 | 3 | -44/+78 |
| | | | |||||
| * | | Merge branch 'master' into asmexpand | Bernhard Schommer | 2015-07-14 | 51 | -241/+1046 |
| |\ \ | |||||
| * | | | Merge branch 'asmexpand' of github.com:AbsInt/CompCert | Bernhard Schommer | 2015-06-26 | 8 | -615/+997 |
| | | | | |||||
* | | | | Added builtin for the dcbi instruction. | Bernhard Schommer | 2015-08-17 | 5 | -4/+11 |
| | | | | |||||
* | | | | Update clightgen w.r.t. teh calling_conventions record (new field cc_unproto). | Xavier Leroy | 2015-08-17 | 1 | -1/+2 |
| | | | | |||||
* | | | | Update clightgen w.r.t. EF_inline_asm (type of the clobber list). | Xavier Leroy | 2015-08-17 | 1 | -1/+6 |
| | | | |