summaryrefslogtreecommitdiff
path: root/driver/optcompile.ml
Commit message (Collapse)AuthorAgeFilesLines
* Added lambda option to -stop-after comiler flag and logic to compile_common, ↵Doug Smith2023-01-121-22/+33
| | | | | | | | compile, and optcompile to terminate compilation after lambdas are resolved based on this option. Co-authored-by: Doug Smith <dsmith47@nd.edu> Co-authored-by: Dmitrii Kosarev <Dmitrii.Kosarev@pm.me>
* Remove unused labelsLeo White2021-03-221-2/+0
|
* Move typed_impl to Typedtree.tLeandro Ostera2020-11-051-2/+2
|
* Introduce typed_impl recordLeandro Ostera2020-11-051-6/+4
|
* Expose module signature when typing implementationLeandro Ostera2020-11-051-2/+4
| | | | | | | | | | | | | | | | | While working on a new backend for OCaml to generate Erlang sources, I found the need to read the .cmi file back into a `Types.signature` value. @Drup spotted that I was reading the file and pointed out this value was already being read during the type checking process. A quick check at the `Typedtree.module_coercion` showed us that it would be difficul to extract the same information that is readily available in the signature value. This change will expose the signature value directly, so other backends relying on this signature information do not need to do the extra work of reading it again.
* ability to restart compilation from .cmir-linear IR files Greta Yorsh2020-10-131-2/+11
|
* Move some code from Asmgen to the middle end directory etc. (#2288)Mark Shinwell2019-05-101-12/+21
| | | Followup to (#2281)
* Move some middle-end files around (#2281)Mark Shinwell2019-04-011-4/+4
| | | | | | * Various file moves in the middle end: this is the first stage of improving separation between the middle end and backend. * Creation of file_formats/ directory (with associated file moves) to hold the definitions of compilation artifact formats. * Creation of lambda/ directory (with associated file moves) to hold Lambda language definition files, transformation passes and construction passes from Typedtree. * Disable (hopefully temporarily) dynlink, debugger and ocamldoc for the dune build.
* Remove support for compiler plugins (#2276)Mark Shinwell2019-03-131-2/+2
| | | | | | | | | | | | | | After consultation on the core developers' list I am proposing this patch to remove support for compiler plugins. The main motivations for removing compiler plugins are: - They are a potential security risk. - They increase the complexity of the build system and make maintenance of the Dynlink libraries more difficult (although actually, this complexity could probably be reduced after #2268 is merged). - Many applications of plugins should be able to be expressed by building custom compiler drivers that link against compilerlibs. * Remove compiler plugins and hooks * Add new function Dynlink.unsafe_get_global_symbol but keep it outside the documented API. * Remove otherlibs/dynlink/nodynlink.ml * Update Changes
* Compile_common: turn `init` into continuation-passing `with_info`Gabriel Scherer2019-01-051-6/+4
| | | | | | I think this clarifies the fact that the `info` value is a resource that has a limited lifetime. The new API lets us create (and close) the ppf_dump directly from `Compile_common.with_info`, simplifying the API for user.
* Compile_common.init: make ppf_dump a labelled argumentGabriel Scherer2019-01-041-2/+2
|
* driver/compile_common: refactor interface/implementation entry pointsGabriel Scherer2019-01-041-9/+17
|
* driver: consistently use _ as word separatorGabriel Scherer2019-01-041-9/+9
|
* Compile_common.implementationValentin Gatien-Baron2018-08-041-17/+4
|
* compile_common: remove wrap_compilationGabriel Scherer2018-08-041-7/+15
| | | | | | | | | | | | | | | wrap_compilation makes the compilation pipeline non-modular by exposing a split between two fixed passes, a frontend and a backend, in a .mli interface. I need a finer-grained interface for a feature I've been using in my Menhir-parser branch, and it is likely that other users also will need to be finer-grained than that. This PR pushes the error/ressource handling contained with wrap_compilation into its producers (note: this change assume that only typecheck_impl needs Stypes.dump, and that only the optcompile backend may generate `obj` and `cmx` files), so that the logic in "wrap" becomes very simple, and then inlines it in the two users in {opt,}compile.ml.
* Add compile_common.ml which contains the basic compilation pipeline.Drup2018-07-271-124/+62
| | | | Factorize the part from compile.ml and optcompile.ml.
* Add option to dump the output of e.g. -dlambda in a file (#1913)sliquister2018-07-271-19/+23
|
* Implement reviewer suggestionsNicolás Ojeda Bär2018-07-251-62/+61
|
* Use reraise_raw_backtrace in Misc.try_finallyFrançois Bobot2018-07-251-8/+6
| | | | | And add labels ~always for previous cleanup function and ~exceptionally for new cleanup function in exceptional case
* remove redundant calls to simplify_signatureThomas Refis2018-07-251-1/+1
| | | | Simplification is already done in Typemod.type_interface.
* Create warning 64, for uses of -unsafe with a -pp that returns a marshalled astValentin Gatien-Baron2018-07-151-2/+2
| | | | | | Instead of the current print to stderr. This way it's treated the same as other warnings: it has a position, colors, can be made an error, disabled, goes in the expected formatter, is documented.
* PR#6416 et al.: injective mapping between identifiers and printed names (#1120)Florian Angeletti2018-06-261-1/+2
|
* Whitespace and overlong line fixes.David Allsopp2018-06-141-1/+2
|
* Fix MPR#7751 (#1657)Jacques Garrigue2018-03-271-1/+1
| | | Fix the toplevel printer, to have it properly load needed cmi's.
* generalize -dtimings to show allocation, top heap size (#1152)sliquister2017-06-091-8/+8
|
* display the output of -dtimings as a hierarchyValentin Gatien-Baron2017-03-071-99/+102
|
* making -dtimings include time spent typing mli'sValentin Gatien-Baron2017-02-011-18/+20
|
* Fix order of arguments with -cclib XXX (#761)Fabrice Le Fessant2016-12-141-4/+1
|
* fix whitespace, long lines, headersDamien Doligez2016-08-011-1/+2
|
* Add hooks on some compilation phasesFabrice Le Fessant2016-07-121-3/+3
|
* Also remove the forced dependency dummy code hack for closurePierre Chambart2016-07-081-4/+4
| | | | | This also share the result type of transl_implementation_flambda and transl_store_implementation
* Some cleanup to explicit transl_implementation_flambda return valuesPierre Chambart2016-07-081-4/+4
|
* Allow to force linking modules without generating dummy codePierre Chambart2016-07-081-4/+6
|
* Update headers for the new license.Damien Doligez2016-02-181-11/+14
| | | | Remains to be done: remove all headers in testsuite/tests.
* Tidy up new command-line parametersLeo White2016-02-111-12/+2
|
* Make warning 59 less unhelpful (includes work by Runhang Li)Mark Shinwell2016-02-111-0/+1
|
* Reformatting only (to the standards of tools/check-typo)Mark Shinwell2016-02-101-1/+3
|
* Revert "PR#6475: accept -o in ocamlc when compiling C files"Damien Doligez2016-02-101-2/+1
| | | | | | | | | | | | This reverts commit 1d8e590c54dcd888503c3ea2944533255ef87343. Conflicts: Changes bytecomp/bytelink.ml driver/optcompile.ml ocamlbuild/ocaml_specific.ml ocamlbuild/testsuite/internal.ml utils/ccomp.ml
* Import latest Flambda changesMark Shinwell2016-02-091-1/+3
|
* Enable flambdaPierre Chambart2016-01-281-12/+51
|
* use Timings.source_provenance in more placesThomas Refis2015-12-311-3/+3
|
* Rename type build_kind and sourcefile arguments to source_provenancePierre Chambart2015-12-181-1/+1
|
* Record the source file name being built in CompilenvPierre Chambart2015-12-181-1/+2
|
* Remove last use of Timining.start/stop in {opt,}compile.mlPierre Chambart2015-12-181-6/+6
|
* Avoid using Timings.start/stopPierre Chambart2015-12-181-6/+4
|
* Record compiler runtimePierre Chambart2015-12-181-1/+7
|
* Add module to deal with 'front-end' built-in attributes.alainfrisch2015-12-021-1/+1
|
* Keep deprecation flag on compilation unit, extracted from a floating ↵alainfrisch2015-11-271-1/+2
| | | | attribute in the .mli file.
* merge branch 4.02 from 4.02.1 (rev 15540) to a few fixes after 4.02.2 (rev ↵Damien Doligez2015-07-171-11/+5
| | | | | | 16205) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* minor: cut too-long linesGabriel Scherer2014-12-211-1/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02