Commit Graph

1140 Commits (97ff08fcdf9832a5c9ab1f79c2add20a055c7547)

Author SHA1 Message Date
Mark Shinwell b2e7162546 Second attempt at fixing GPR#167 fallout 2016-04-15 13:41:54 +01:00
Anton Bachin 0746566e79 Don't emit .loc with negative column numbers
The Clang assembler does not accept these. They can arise when using
Location.none, for example in a PPX.
2016-04-14 13:30:10 -04:00
Mark Shinwell e26cd12701 Fix for GPR#167 2016-04-14 16:29:57 +01:00
Pierre Chambart 3ad95a3a59 Also record type information for int 2016-04-12 14:49:54 +02:00
Pierre Chambart 211e6f54fb Use the mutable_flag instead of let_kind for clambda let 2016-04-12 14:49:53 +02:00
Pierre Chambart f7dcbf21e7 Annotate Let_mutable with the kind of value 2016-04-12 14:49:52 +02:00
alainfrisch 83ae23568c Renaming block_kind -> value_kind. 2016-04-12 14:49:50 +02:00
alainfrisch 4dab0b8924 Doc. 2016-04-12 14:49:45 +02:00
alainfrisch 258a335791 When deciding whether to unbox a let binding, if one knows statically that the type of the bound expression is an unboxed number, relax the criterion: unbox if this benefits to at least one branch of the bound expression (instead of checking all branches). 2016-04-12 14:49:44 +02:00
alainfrisch 9b7e5868f2 Detect all let-bindings to unboxable floats. 2016-04-12 14:49:43 +02:00
alainfrisch 4bf9ad6a3c Keep the approx on all Llet nodes, not only variables. 2016-04-12 14:49:42 +02:00
alainfrisch c996f5f18d Keep track of mutable variables obtained by eliminating local references holding aun unboxable number type. Then force unboxing of such variables to avoid repeated boxing every time the reference is assigned. 2016-04-12 14:49:40 +02:00
Pierre Chambart 2923d4d294 Make Cmmgen understand constant bools 2016-03-31 15:32:33 +02:00
alainfrisch 502e4f9336 More warnings when compiling the compiler. 2016-03-15 22:46:35 +01:00
François Bobot 2aec849922 Merge remote-tracking branch 'origin/4.03' into trunk
travis.yml is kept from trunk

Conflicts:
  	.depend
	Changes
	Makefile
	VERSION
	boot/ocamlc
	boot/ocamldep
	boot/ocamllex
	parsing/parser.mly
	parsing/pprintast.ml
	stdlib/hashtbl.ml
	testsuite/tests/unwind/Makefile
	tools/check-typo
2016-03-11 18:44:32 +01:00
Alain Frisch 3d00fc8773 Avoid ambiguous or-pattern. 2016-03-09 18:42:07 +01:00
alainfrisch 8d0f08b20e Fix a probable non-bug.
Commit 39760599e5 introduced some bogus logic.
Emitting structured constants can register more closures to be emitted.  But either
the name of these closures is "unique enough", in which case we don't need the already_translated
argument in transl_all_functions_and_emit_all_constants (and transl_all_functions does not need
to return the set of already emitted functions).  Or this is not the case, and the previous code
was wrong since it forgot to remember the set returned by transl_all_functions.

I've fixed the code assuming the latter in order to be on the safe side, but we would probably have
noticed if the former assumption did not hold.  I've added a note to the commit mentioned above
so that @chambart can have a look at it.
2016-03-09 13:41:13 +01:00
Mark Shinwell 158e6fc1ae Stop producing erroneous backtrace frames in Flambda mode 2016-02-29 11:27:08 +00:00
Mark Shinwell 898e06af77 Stop producing erroneous backtrace frames in Flambda mode 2016-02-29 11:18:08 +00:00
Mark Shinwell 5dced42768 Merge pull request #480 from mshinwell/flambda_unbox-closures
GPR#480: Flambda fix: try to make Unbox_closures behave more reasonably
2016-02-26 16:18:04 +00:00
Mark Shinwell b1d1eed3af Merge pull request #480 from mshinwell/flambda_unbox-closures
GPR#480: Flambda fix: try to make Unbox_closures behave more reasonably
2016-02-26 16:15:06 +00:00
Damien Doligez df75e7e9de cut overlong lines 2016-02-25 16:51:40 +01:00
Mark Shinwell 0453c74baa Fix Unbox_closures to lessen runtime performance penalty 2016-02-24 09:03:15 +00:00
Damien Doligez 5401ce8473 Update headers for the new license.
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Damien Doligez ee8f71101b clean up whitespace and cut long lines 2016-02-17 13:36:27 +01:00
Damien Doligez 59a4fd6615 Merge pull request #408 from btj/trunk
Fixes bugs in stack unwinding metadata (PR#7118,7120)
2016-02-12 11:20:02 +01:00
Mark Shinwell 4137939cd7 Make warning 59 less unhelpful (includes work by Runhang Li) 2016-02-11 14:35:18 +00:00
Mark Shinwell bde2bdd206 Reformatting only (to the standards of tools/check-typo) 2016-02-10 18:28:38 +01:00
Mark Shinwell c67bd88eee Addressing CR comments for Flambda 2016-02-10 17:01:33 +01:00
Bart Jacobs 0a914a4765 Generate local jump labels on OS X (PR#7133)
See [PR#7133](http://caml.inria.fr/mantis/view.php?id=7133)
2016-02-10 15:24:37 +01:00
Leo White 59aab8d1c2 Support for unroll and and specialise attributes 2016-02-10 14:14:42 +01:00
Mark Shinwell a397511031 Import latest Flambda changes 2016-02-09 09:59:26 +01:00
Mark Shinwell 05f1746cb5 Rename to max_arguments_for_tailcalls; revise numbers assuming no unboxed floats using the OCaml calling conventions 2016-02-08 15:02:40 +01:00
Mark Shinwell 878ee9a2ee Merge remote-tracking branch 'ocaml/trunk' into sensible_num_args 2016-02-08 14:52:52 +01:00
Mark Shinwell b5618e8642 max_arguments_without_passing_on-stack 2016-01-29 15:57:36 +00:00
Mark Shinwell 355cf1d40b merge 2016-01-29 14:43:38 +00:00
Pierre Chambart b0b0f6609c Enable flambda 2016-01-28 15:04:47 +01:00
Pierre Chambart 93956dc1ef Avoid pushing test deep inside conditions 2016-01-22 09:36:59 +01:00
Pierre Chambart d07c0698d0 Fix small divergences 2016-01-22 01:24:02 +01:00
Pierre Chambart 1cf70d9e6e Remove unused globals field of Export_info.t 2016-01-22 01:24:02 +01:00
Pierre Chambart f1f0a798f6 Add missing compilenv functions
approx_for_global and approx_env are missing implementation
2016-01-22 01:24:02 +01:00
Pierre Chambart 0e8ed08a9d Add warning headers to flambda files 2016-01-22 00:39:46 +01:00
Mark Shinwell 20d1951566 Merge pull request #417 from chambart/flambda_prereq-duparray_and_array_mutability
GPR#417: Add explicit duplication of literal arrays
2016-01-21 16:05:44 +00:00
Mark Shinwell d489fd2038 comments 2016-01-15 14:54:33 +00:00
Mark Shinwell 0664a1cf03 Alter array patch after feedback from jdimino 2016-01-15 14:49:01 +00:00
Damien Doligez d296864174 remove unused (and wrong?) line in cmmgen.ml 2016-01-15 15:25:23 +01:00
Mark Shinwell d3a8745b84 Merge remote-tracking branch 'ocaml/trunk' into flambda_prereq-clflags 2016-01-15 13:22:04 +00:00
Mark Shinwell 9fd67a6052 if-then-else changes in Cmmgen 2016-01-15 11:56:02 +00:00
Mark Shinwell 8e9c865176 Improved fatal error messages in Cmmgen 2016-01-15 11:53:50 +00:00
Mark Shinwell fb312a989c Minor naming/comment changes in Cmmgen 2016-01-15 11:20:03 +00:00