Skip to content

Commit 7d08e0e

Browse files
mshinwellpoechsel
authored andcommitted
flambda-backend: To upstream: use flambda_o3 attribute in stdlib
1 parent 403b82e commit 7d08e0e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+171
-60
lines changed

stdlib/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ CAMLC=$(CAMLRUN) $(COMPILER)
2424
COMPFLAGS=-strict-sequence -absname -w +a-4-9-41-42-44-45-48-66 \
2525
-g -warn-error A -bin-annot -nostdlib -principal \
2626
-safe-string -strict-formats -nopervasives -no-alias-deps
27-
ifeq "$(FLAMBDA)" "true"
28-
OPTCOMPFLAGS += -O3
29-
endif
3027
OPTCOMPILER=$(ROOTDIR)/ocamlopt$(EXE)
3128
CAMLOPT=$(CAMLRUN) $(OPTCOMPILER)
3229
CAMLDEP=$(BOOT_OCAMLC) -depend

stdlib/arg.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type key = string
1921
type doc = string
2022
type usage_msg = string

stdlib/array.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* An alias for the type of arrays. *)
1921
type 'a t = 'a array
2022

stdlib/arrayLabels.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [ArrayLabels]: labelled Array module *)
1921

2022
[@@@ocaml.nolabels]

stdlib/bigarray.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [Bigarray]: large, multi-dimensional, numerical arrays *)
1921

2022
(* These types in must be kept in sync with the tables in

stdlib/bool.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type t = bool = false | true
1921

2022
external not : bool -> bool = "%boolnot"

stdlib/buffer.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Extensible buffers *)
1921

2022
[@@@ocaml.inline 3]

stdlib/bytes.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Byte sequence operations *)
1921

2022
(* WARNING: Some functions in this file are duplicated in string.ml for

stdlib/bytesLabels.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [BytesLabels]: labelled Bytes module *)
1921

2022
[@@@ocaml.nolabels]

stdlib/callback.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Registering OCaml values with the C runtime for later callbacks *)
1921

2022
external register_named_value : string -> Obj.t -> unit

stdlib/camlinternalFormat.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
[@@@ocaml.warning "Ae"]
1921

2022
open CamlinternalFormatBasics

stdlib/camlinternalLazy.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Internals of forcing lazy values. *)
1921

2022
[@@@ocaml.afl_inst_ratio 0]

stdlib/camlinternalMod.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
external make_forward : Obj.t -> Obj.t -> unit = "caml_obj_make_forward"
1921

2022
type shape =

stdlib/camlinternalOO.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
[@@@ocaml.inline 0]
1921
[@@@ocaml.afl_inst_ratio 0]
2022

stdlib/char.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Character operations *)
1921

2022
external code: char -> int = "%identity"

stdlib/complex.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Complex numbers *)
1921

2022
type t = { re: float; im: float }

stdlib/digest.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Message digest (MD5) *)
1921

2022
type t = string

stdlib/ephemeron.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
module type SeededS = sig
1921
include Hashtbl.SeededS
2022
val clean: 'a t -> unit

stdlib/filename.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
let generic_quote quotequote s =
1921
let l = String.length s in
2022
let b = Buffer.create (l + 20) in

stdlib/float.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
open! Stdlib
1818

19+
[@@@ocaml.flambda_o3]
20+
1921
[@@@ocaml.nolabels]
2022

2123
external neg : float -> float = "%negfloat"

stdlib/format.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* A pretty-printing facility and definition of formatters for 'parallel'
1921
(i.e. unrelated or independent) pretty-printing on multiple out channels. *)
2022

stdlib/fun.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
external id : 'a -> 'a = "%identity"
1921
let const c _ = c
2022
let flip f x y = f y x

stdlib/gc.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
open! Stdlib
1818

19+
[@@@ocaml.flambda_o3]
20+
1921
type stat = {
2022
minor_words : float;
2123
promoted_words : float;

stdlib/genlex.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type token =
1921
Kwd of string
2022
| Ident of string

stdlib/hashtbl.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Hash tables *)
1921

2022
(* We do dynamic hashing, and resize the table and rehash the elements

stdlib/int.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type t = int
1921

2022
let zero = 0

stdlib/int32.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [Int32]: 32-bit integers *)
1921

2022
external neg : int32 -> int32 = "%int32_neg"

stdlib/int64.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [Int64]: 64-bit integers *)
1921

2022
external neg : int64 -> int64 = "%int64_neg"

stdlib/lazy.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [Lazy]: deferred computations *)
1921

2022

stdlib/lexing.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* The run-time library for lexers generated by camllex *)
1921

2022
type position = {

stdlib/list.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* An alias for the type of lists. *)
1921
type 'a t = 'a list = [] | (::) of 'a * 'a list
2022

stdlib/listLabels.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [ListLabels]: labelled List module *)
1921

2022
[@@@ocaml.nolabels]

stdlib/map.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
module type OrderedType =
1921
sig
2022
type t

stdlib/marshal.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type extern_flags =
1921
No_sharing
2022
| Closures

stdlib/moreLabels.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [MoreLabels]: meta-module for compatibility labelled libraries *)
1921

2022
[@@@ocaml.nolabels]

stdlib/nativeint.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Module [Nativeint]: processor-native integers *)
1921

2022
external neg: nativeint -> nativeint = "%nativeint_neg"

stdlib/obj.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* Operations on internal representations of values *)
1921

2022
type t

stdlib/oo.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
let copy = CamlinternalOO.copy
1921
external id : < .. > -> int = "%field1"
2022
let new_method = CamlinternalOO.public_method_label

stdlib/option.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
type 'a t = 'a option = None | Some of 'a
1921

2022
let none = None

stdlib/parsing.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
(* The parsing engine *)
1921

2022
open Lexing

stdlib/pervasives.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
open! Stdlib
1616

17+
[@@@ocaml.flambda_o3]
18+
1719
(** @deprecated Use {!Stdlib} *)
1820

1921
external raise : exn -> 'a = "%raise"

stdlib/printexc.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
open Printf
1921

2022
type t = exn = ..

stdlib/printf.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
open! Stdlib
1717

18+
[@@@ocaml.flambda_o3]
19+
1820
[@@@ocaml.warning "Ae"]
1921

2022
open CamlinternalFormatBasics

stdlib/queue.ml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
open! Stdlib
1818

19+
[@@@ocaml.flambda_o3]
20+
1921
exception Empty
2022

2123
type 'a cell =

0 commit comments

Comments
 (0)