Greta Yorsh
aeebb62e9b
Move contains_calls and num_stack_slots from Proc to Mach.fundecl
2019-09-09 11:33:03 +01:00
Greta Yorsh
0b6b544fcb
Split Linearize into two modules
...
Separate the description of the IR from the transformations
performed on it by moving type declarations from linearize.ml
into their own file, called linear.ml.
2019-09-04 11:55:11 +01:00
Mark Shinwell
4334b2de87
Position [Lprologue] correctly ( #2292 )
2019-03-29 11:47:53 +00:00
Mark Shinwell
0bd539ae24
GPR#2082: New option -no-insn-sched
2019-03-13 15:03:49 +00:00
Vincent Laviron
1dba5329a2
Linearize: for Trywith, remove the jump/call to the handler ( #2237 )
2019-03-07 10:37:22 +00:00
Fourchaux
72cfdd56e9
Typos and basic grammar error fixing ( #1280 )
2017-08-10 11:59:23 +01:00
Mark Shinwell
cd0bd8aa73
Spacetime: a new memory profiler ( #585 )
2016-07-29 15:07:10 +01:00
Mark Shinwell
c843ca0691
Labels after calls, call GC points and checkbound points (again) ( #660 )
2016-07-06 11:44:00 +01:00
Alain Frisch
c3c523109e
Revert "Labels after calls, call GC points and checkbound points"
2016-07-01 18:42:51 +02:00
Mark Shinwell
432f87f077
Labels after calls, call GC points and checkbound points ( #644 )
2016-07-01 15:16:03 +01: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
Xavier Leroy
ac02f56351
More precise typing at the C-- and Mach level:
...
- Register type "Addr" is split into
. "Val" (well-formed OCaml values, appropriate as GC roots)
. "Addr" (derived pointers within the heap, must not survive a GC)
- memory_chunk "Word" is split into
. "Word_val" (OCaml value)
. "Word_int" (native-sized integer, not a pointer into the heap)
Cmmgen was updated to use Word_val or Word_int as appropriate.
Application #1 : fail at compile-time if a derived pointer within the heap
survives a GC point (cf. PR#6484).
Application #2 : CSE can do a better job across allocation points
(keep factoring expressions of type Int, Val, Float, but not Addr).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15568 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-06 08:54:14 +00:00
Xavier Leroy
18d23e3a3d
Reflecting commit 14963 on version/4.02:
...
PR#2719: wrong scheduling of bound checks within a try...with Invalid_argument -> _ ...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 13:59:33 +00:00
Fabrice Le Fessant
457958a9e6
Add reset functions to make modules reentrant when used through compiler-libs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09 12:01:21 +00:00
Xavier Leroy
558f40e344
New back-end optimization pass: common subexpression elimination (CSE).
...
(Reuses results of previous computations instead of recomputing them.)
(Cherry-picked from branch backend-optim.)
Tested on amd64/linux and i386/linux.
Other back-ends compile (after assorted updates) but are untested.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 10:40:22 +00:00
Xavier Leroy
140f620413
Debug info was lost when rescheduling "checkbound" instructions.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14323 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-28 14:42:34 +00:00
Damien Doligez
def31744f9
remove all $Id keywords
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Xavier Leroy
094041bdad
PR#5731: take destroyed registers into account during scheduling.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-20 06:54:56 +00:00
Alain Frisch
a0a14c08fa
Enable and fix more warnings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:47:28 +00:00
Xavier Leroy
2eecf2d4c0
PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Damien Doligez
3b507dd1aa
renaming of Objective Caml to OCaml and cleanup of copyright headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez
5e67123bf6
PR#4975: spelling mistakes "overriden" and "informations"
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 12:00:49 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Xavier Leroy
4b5512c74c
Stack backtraces on uncaught exceptions in native code (merge of the opt_backtrace branch)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 12:11:18 +00:00
Damien Doligez
529659e9f4
suppression unused var
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6708 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-29 14:49:24 +00:00
Pierre Weis
2116da4220
Getting rid of obsolete boolean operators & and or
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-28 13:07:42 +00:00
Xavier Leroy
cc0f32b054
Changement de la licence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Pierre Weis
29ceedb180
Warning de la séquence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-12 16:53:20 +00:00
Xavier Leroy
fc77f415d8
Scheduler les checkbound avant les load correspondants
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-19 17:21:45 +00:00
Jérôme Vouillon
87b17301f4
Nouvelle syntaxe des classes
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1997 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-24 19:22:26 +00:00
Xavier Leroy
4f0bb3509a
Scheduling plus agressif des loads et des stores
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-27 09:56:13 +00:00
Xavier Leroy
efca4a4c3e
Adaptation private method -> method protected.
...
Davantage de method protected dans schedgen et selectgen.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-13 10:57:10 +00:00
Damien Doligez
e75acb1d8b
Changement de type de List.iter.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1745 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-10-31 12:56:28 +00:00
Xavier Leroy
64d8dd8c42
Portage Alpha-Linux
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1672 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-30 01:12:19 +00:00
Xavier Leroy
119c8eeb67
Nouvelle architecture pour les fichiers dependant du processeur
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-24 11:49:12 +00:00