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
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
e7f5b858c2
More renaming to OCaml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-10 16:15:24 +00:00
Benedikt Meurer
05627e0de4
Merge the new ARM backend into trunk (PR#5433).
...
Initial merge of the new ARM backend (commit ec5b444c7f) from my development
repository at https://github.com/bmeurer/ocaml-arm/tree/ec5b444c7f .
Compared to the old ARM backend, this one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
-fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
(armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC internals.
- Supports exception backtraces.
- Supports profiling using gprof.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 10:15:24 +00:00
Benedikt Meurer
89f48bff91
Implement insert_op using insert_op_debug in Selectgen.
...
This way we don't need to override insert_op AND insert_op_debug for
every port that cares about them.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 09:59:28 +00:00
Benedikt Meurer
fb327a7c2b
Also pass Cmm.memory_chunk to select_addressing.
...
The rational behind this change is that for the ARM instruction sets, the
valid range for address offsets depends on the type of data being loaded
or stored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 09:43:33 +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
c91db736b1
merge changes from 3.12.0 to 3.12.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +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
1a7d4a3293
Added and used Reg.createv_like.
...
Selectgen: new methods regs_for, enables ports to store float values
in pairs of integer registers.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-03-31 09:44:50 +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
1279ab4b76
fusion des changements 3.09.1 -> 3.09.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-16 23:28:22 +00:00
Xavier Leroy
40efd97fe1
Amelioration des flottants x86: utiliser %st(0) comme registre quand c'est possible, evitant ainsi des couples fstp/fld; ajout option -ffast-math
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5404 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-25 15:50:13 +00:00
Xavier Leroy
7e5e058030
Revu compilation des 'raise' et des 'exit' en position d'argument de fonction ou de primitives (PR#1367). A tester soigneusement
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-04 16:25:09 +00:00
Xavier Leroy
8012570164
Typo dans commentaire
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3380 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-05 08:48:44 +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
cbc5d92988
Meilleur traitement des fonctions tail rec avec des arguments en pile
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-10 12:39:16 +00:00
Luc Maranget
89f252d93e
or-pat avec variables et compil du switch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-02 14:08:30 +00:00
Luc Maranget
d043fecf18
new or-pat compilation + exhaustiveness used in compilation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3273 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-11 19:50:59 +00:00
Xavier Leroy
68b5b9b5b5
Revu emit_stores pour pouvoir le redefinir pour certains processeurs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3217 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-06-29 11:44:36 +00:00
Xavier Leroy
4143a8675a
Traiter correctement raise lorsqu'il apparait sous un operateur strict (e.g. 1 + raise E, cf. PR#79)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-13 12:17:26 +00:00
Xavier Leroy
485d38567d
Retour de Cconst_pointer et ajout de Cconst_natpointer (necessaires pour un bon typage du code C-- et donc des racines du GC, voire PR#58)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-17 13:24:17 +00:00
Xavier Leroy
90c6a0e491
Suppression de Cconst_pointer, redondant
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-12 13:06:57 +00:00
Xavier Leroy
c02c135946
Introduction de Double_u (doubles alignes sur un mot) par opposition a Double (doubles alignes naturellement). A tester.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-10 14:31:06 +00:00
Damien Doligez
836c41cd32
Fix PR#48 (plus general)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 14:52:19 +00:00
Damien Doligez
624e44413d
fix PR#48 (provisoire?)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-03 19:22:26 +00:00
Xavier Leroy
1cac403368
Ajout des modules Int32, Int64 et Nativeint
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2807 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-11 15:09:27 +00:00
Xavier Leroy
68cfc93add
Catch-all inutile dans un filtrage
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-10 08:43:10 +00:00
Xavier Leroy
44f0f8a5a4
Traitement plus uniforme des load et des store. Ajout load/store sur int32 et float32
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-04 12:43:18 +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
Xavier Leroy
57d1b406ce
Ajout d'une passe supplementaire pour combiner les allocations qui apparaissent dans le meme bloc de base.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2361 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:04:46 +00:00
Xavier Leroy
2de70e9427
Dans Ialloc, traiter le cas ou l'offset par-rapport a l'allocation groupee n'est pas un immediat
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 11:09:45 +00:00
Xavier Leroy
5038f3cdb6
Ajout de Pervasives.ignore. List.remove -> List.remove_ass*
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-24 15:21:50 +00:00
Xavier Leroy
dfff116874
Fusionner les allocations qui sont dans le meme basic block
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2269 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 15:29:34 +00:00
Xavier Leroy
83cd7cac3d
Optimisation de la selection d'instruction (les checkbounds peuvent apparaitre dans des expressions simples, c'est bon pour le flottant Intel)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-03 17:28:53 +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
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
183fbec2d8
Reconnaitre les comparaisons cmpi const_pointer
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-09 13:40:34 +00:00
Xavier Leroy
268f9837e9
Meilleur traitement des branchements conditionnels en fin de boucle
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1893 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:08:26 +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
Xavier Leroy
839a164991
Marquer le plus possible de methodes "private" et ne pas les exporter.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-11-06 17:25:24 +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