Commit Graph

293 Commits (94b8cdbb749016ee94e753088a30016f03e5cd2f)

Author SHA1 Message Date
Xavier Leroy 94b8cdbb74 Emettre un lea pour x <- y + cst quand x et y sont dans des registres differents (utile pour la nouvelle passe Comballoc)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2360 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:04:08 +00:00
Xavier Leroy 75d7f7d0aa Support *BSD
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-05-15 15:03:11 +00:00
Xavier Leroy b22f481fa3 Mieux compiler while(not cond)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-10 13:50:24 +00:00
Xavier Leroy ad5f095034 Revu compilation du Lswitch pour contourner un bug de l'assembleur (pas de .gpword sur un label defini en arriere)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2349 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-10 12:47:57 +00:00
Xavier Leroy 03f01569a7 Bien traiter Ialloc de plus de 1024 octets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 15:03:28 +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 294aff94cf Lors de l'emission de constantes, faire attention aux symboles de code / de donnees (suite)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 10:55:46 +00:00
Xavier Leroy 6ad4dff1f8 Lors de l'emission de constantes, faire attention aux symboles de code / de donnees
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 10:49:25 +00:00
Xavier Leroy 2cdc58017c Elimination des arguments inutilises lors de l'inlining (Mark Hayden)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2328 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-03-04 09:49:06 +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 05b366f105 Istore_int et Ipush_int prennent un Nativeint.t au lieu d'un int
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2275 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-12 16:27:39 +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 4189443be3 Nouveau schema de compilation des definitions d'une unite de compilation en ocamlopt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2266 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 10:31:16 +00:00
Xavier Leroy 2f274392aa Istore_int, Ipush_int: prennent des nativeints en argument
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2265 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-04 10:30:31 +00:00
Xavier Leroy 5980951342 Optimisation des decalages, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2261 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-02-01 09:28:52 +00:00
Xavier Leroy 3e53f531c9 Propagation des constantes pour les booleens
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2258 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-29 08:50:24 +00:00
Xavier Leroy 07f623dc28 Meilleur tagging/untagging pour les decalages
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-29 08:50:10 +00:00
Xavier Leroy e69a4030c0 Emettre symbol - N plutot que symbol + -N
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2256 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-28 15:39:09 +00:00
Xavier Leroy 36b07ae020 Preallocation des fermetures pour les fonctions closes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-01-27 10:52:33 +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
Xavier Leroy 08a46a325c Bug de spilling lie aux exceptions levees par Icheckbound (signale par Fabrice Le Fessant)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2220 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-03 09:51:35 +00:00
Xavier Leroy 7f9ee6a995 MAJ portage Win32
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-02 14:39:27 +00:00
Xavier Leroy 16bc49829e Implementation de -cclib -lfoo pour Windows
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-12-02 10:58:22 +00:00
Xavier Leroy 80a18abcec fmovd -> 2 fmovs (car l'assembleur GNU ne comprend pas fmovd)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2197 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-26 09:34:46 +00:00
Xavier Leroy 0e6d40d981 Support pour le Dynlink natif de Fabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-20 15:35:04 +00:00
Xavier Leroy b71badac85 Mips/Irix: passage en mode -n32. Mips/Ultrix: suppression
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2183 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-18 18:10: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
Xavier Leroy 939d9b30a9 En ocamlopt, les acces hors bornes levent Invalid_argument au lieu de planter le programme. Itou pour les fonctions C qui appellent invalid_argument. Teste sur Intel, a tester sur les autres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 15:35:48 +00:00
Xavier Leroy 6c220cd9c1 Optimiser x + 0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 09:38:40 +00:00
Xavier Leroy eed4e592d0 Bugs dans la propagation des constantes entieres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-11 09:38:22 +00:00
Xavier Leroy 10231cade2 Ajout de l'option -cc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2161 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-06 15:39:43 +00:00
Xavier Leroy 59cb8750d2 Simplification des modes d'adressage: suppression du mode Iindexed2, inefficace et genant le bon scheduling
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-20 15:27:27 +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
Xavier Leroy 66ae9423a7 Portage ARM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-15 16:10:53 +00:00
Xavier Leroy fca1be1fdd Suite du portage ARM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2119 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-14 17:08:57 +00:00
Xavier Leroy 57c704d739 Portage ARM -- premier jet
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-09 14:43:30 +00:00
Xavier Leroy fefba26fcf Gerer le correctement sous Linux aussi, car ld 2.8.1 traite les multiples correctement
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2053 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-14 16:04:15 +00:00
Xavier Leroy fe0a2ee892 Retour a la strategie standard de gestion du
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-13 09:02:43 +00:00
Xavier Leroy 94dd3b1472 Exception Use_default inutile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2037 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-08 10:21:02 +00:00
Xavier Leroy 057d9f6aa4 Debug de l'option -p
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2027 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-06 14:25:44 +00:00
Xavier Leroy 49521cb928 Ajout du profiling par gprof (ocamlopt -p)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2025 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-08-06 13:27:38 +00:00
Jérôme Vouillon 1e375a74dd Nouvelle syntaxe des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1999 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-25 13:14:07 +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 5ac8854085 Eviter d'emettre des addi 1, 1, 0 en cas de fonction qui n'utilise pas la pile
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1988 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:43:04 +00:00
Xavier Leroy a859063f3b Utiliser movz[bw]l systematiquement, ne pas essayer de faire un load partiel dans un registre mis a zero. C'est moins bon pour le Pentium mais meilleur pour le Pentium Pro
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:40:04 +00:00
Xavier Leroy bae3ad8140 Retour au schema classique de compilation de Lswitch (pour atom, pixie, et outils semblables)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1986 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-22 12:38:57 +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 88e3910ce6 Eviter les let inutiles lors de l'inlining. Faire la propagation des constantes sur le corps des fonctions inlinees
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-09 13:40:10 +00:00
Xavier Leroy 6813c409c9 Portage SparcLinux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-05-11 14:57:23 +00:00
Xavier Leroy bdcbaa9602 Propagation des constantes entieres
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-30 12:11:35 +00:00