aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Updated ARM port.xleroy2012-07-105-29/+20
| | | | | | | CSE.v: removed commented-out stuff. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1966 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Accept long double literals if -flongdouble is given.xleroy2012-07-101-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1965 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: fixed SDA inference, passes testvarobert2012-07-101-6/+4
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1964 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Micro-optimization of (x & mask) >>s amount into a rolm when mask >= 0.xleroy2012-07-093-16/+77
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1963 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Revert unintentional commit #1955xleroy2012-07-065-16/+12
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1957 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: minor changesvarobert2012-07-051-8/+9
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1956 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Ajout trunk CompCertblazy2012-07-045-12/+16
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1955 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: better diagnosisvarobert2012-07-041-112/+103
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1954 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: some more debug tracingvarobert2012-07-041-0/+3
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1953 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: more defensive is_paddingvarobert2012-07-041-1/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1952 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: fixed bits/bytes mistakevarobert2012-07-041-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1951 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Update CombineOp for arm and ia32.xleroy2012-07-034-7/+21
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1950 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: adaptation to the new floatsvarobert2012-07-033-7/+11
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1949 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Process successors in increasing order. Helps preserving the nice CFGxleroy2012-07-011-23/+62
| | | | | | | | structure that we got from Cminorgen. Otherwise, the linearization heuristic can produce rather bad code. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1948 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Factor out the evaluation of the float constant in intuoffloat.xleroy2012-07-012-16/+17
| | | | | | | Probably redundant with CSE, but better safe than sorry. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1947 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Recombine x = cmp(...); if (x == 1) ...xleroy2012-07-016-12/+157
| | | | | | | and x = cmp(...); if (x != 1) ... git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1946 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added option -falign-functionsxleroy2012-07-016-7/+19
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1945 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* More aggressive 'uncasting' before storing small integersxleroy2012-06-302-104/+145
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1944 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: Faster printingvarobert2012-06-292-64/+121
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1943 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: Indentationvarobert2012-06-291-17/+17
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1942 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: removed garbage codevarobert2012-06-291-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1941 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Changelog: updatedxleroy2012-06-285-28/+97
| | | | | | | | | | driver/Interp.ml: clean up dead code lib/Integers.v: add shifted_or_is_add lib/Floats.v: add from_words_eq .depend: updated git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1940 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Use Flocq for floatsxleroy2012-06-2854-168/+26114
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1939 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Make min_int / -1 and min_int % -1 semantically undefinedxleroy2012-06-0916-44/+81
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1919 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* More properties on mul/div/modxleroy2012-06-091-0/+39
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1918 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: improved user-friendlinessvarobert2012-06-045-161/+184
| | | | | | | | Command-line options have been renamed and reordered. Error messages verbosity is more fine-grained. Possibly spurious debug messages are more clearly separated from the actual conclusions of the process. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1913 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: improved error messagesvarobert2012-06-012-16/+48
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1909 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: new disassembler, error severity, ...varobert2012-06-015-1054/+1085
| | | | | | | | | | | | | | - Added the -disass command-line option to disassemble symbols found in the ELF ; - Field mismatch now stops the matching of two code fragments, while it used to only emit an error in the log ; - Fixed a long-lasting bug in the command-line option ; - Some error messages have been improved. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1908 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: better error messagesvarobert2012-05-311-9/+10
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1907 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* checklink: fixed FSQRTEx parsingvarobert2012-05-311-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1906 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Better error reports for checklinkvarobert2012-05-302-77/+98
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1905 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Removed Oandimm, etc, cases, because of 2-address constraints...xleroy2012-05-292-24/+0
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1904 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Memdata: cleanup continuedxleroy2012-05-262-178/+131
| | | | | | | Maps: add filter1 operation (could be useful some day) git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1903 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* CSE: add recognition of some combined operators, conditions, and addressing ↵xleroy2012-05-2628-471/+1172
| | | | | | | | | | modes (cf. CombineOp.v) Memory model: cleaning up Memdata Inlining and new Constprop: updated for ARM. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1902 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* cchecklink continues when sections overlapvarobert2012-05-243-62/+77
| | | | | | | cchecklink now reports overlapping sections but keeps analyzing. Error messages have also been made clearer. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1901 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* More efficient implementation of reg_valnumxleroy2012-05-222-90/+168
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1900 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Merge of the newmem branch:xleroy2012-05-2149-1945/+5923
| | | | | | | | | | - Revised memory model with Max and Cur permissions, but without bounds - Constant propagation of 'const' globals - Function inlining at RTL level - (Unprovable) elimination of unreferenced static definitions git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1899 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Hack with nxorxleroy2012-05-183-0/+10
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1898 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Use freg <-> 2 ireg move instructions to fix up calling conventionsxleroy2012-05-181-4/+2
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1895 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* cchecklink now reads segments instead of sectionsvarobert2012-05-108-285/+354
| | | | | | | | | | | | | cchecklink is now using program header information to figure out the initial address space of the program, rather than the information in the parent section of each symbol. This decouples the resolution of symbols from inaccurate section information, reflecting more the actual program loading. Additionally, a -relaxed option has been added to deal with some strange ELFs, for instance when symbols data is dynamically bootstrapped from another place by boot code different than the program loader. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1893 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Fixed float comparison in checklinkvarobert2012-05-021-2/+5
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1882 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added small data area support to checklinkvarobert2012-04-203-58/+201
| | | | | | | | Accesses to small data areas are dynamically resolved by constructing a mapping from registers to virtual addresses they are supposed to point to. This mapping is reported. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1880 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* New section mapping checks and symbol data lookupvarobert2012-04-134-57/+118
| | | | | | | | | Section mapping is now discovered on-the-fly, and linker script remappings are reported as warnings at the end. Symbol data lookup is now able to gracefully fail if the symbol's virtual address is not within the range of its parent section's virtual address space. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1878 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added long versions of Pbf and Pbtvarobert2012-04-121-42/+80
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1877 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added Pallocframe second formvarobert2012-04-121-3/+13
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1876 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Faster ndxes_of_sym_namevarobert2012-04-125-26/+51
| | | | | | | | | ndxes_of_sym_name used to have an O(s^2) complexity where s was the number of symbols in the ELF file. It has now been reduced to an O(s*ln(s)) by pre-computing the sets of symbols corresponding to each normalized symbol name. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1875 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Configuration, build and install for cchecklink. Clean-ups in myocamlbuild.ml.xleroy2012-04-043-4/+27
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1874 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Tracing each data chunk in debug modevarobert2012-04-042-0/+16
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1873 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Added safety to potentially overflowing arithmeticsvarobert2012-04-0410-151/+206
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1872 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
* Manual argument passing to checklink's makevarobert2012-04-041-1/+1
| | | | git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1871 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e