@@ -509,13 +509,14 @@ module Compiler_pass = struct
509
509
- the manpages in man/ocaml{c,opt}.m
510
510
- the manual manual/src/cmds/unified-options.etex
511
511
*)
512
- type t = Parsing | Typing | Lambda
512
+ type t = Parsing | Typing | Lambda | Middle_end
513
513
| Scheduling | Emit | Simplify_cfg | Selection
514
514
515
515
let to_string = function
516
516
| Parsing -> " parsing"
517
517
| Typing -> " typing"
518
518
| Lambda -> " lambda"
519
+ | Middle_end -> " middle_end"
519
520
| Scheduling -> " scheduling"
520
521
| Emit -> " emit"
521
522
| Simplify_cfg -> " simplify_cfg"
@@ -525,6 +526,7 @@ module Compiler_pass = struct
525
526
| "parsing" -> Some Parsing
526
527
| "typing" -> Some Typing
527
528
| "lambda" -> Some Lambda
529
+ | "middle_end" -> Some Middle_end
528
530
| "scheduling" -> Some Scheduling
529
531
| "emit" -> Some Emit
530
532
| "simplify_cfg" -> Some Simplify_cfg
@@ -535,6 +537,7 @@ module Compiler_pass = struct
535
537
| Parsing -> 0
536
538
| Typing -> 1
537
539
| Lambda -> 2
540
+ | Middle_end -> 3
538
541
| Selection -> 20
539
542
| Simplify_cfg -> 49
540
543
| Scheduling -> 50
@@ -544,13 +547,15 @@ module Compiler_pass = struct
544
547
Parsing ;
545
548
Typing ;
546
549
Lambda ;
550
+ Middle_end ;
547
551
Scheduling ;
548
552
Emit ;
549
553
Simplify_cfg ;
550
554
Selection ;
551
555
]
552
556
let is_compilation_pass _ = true
553
557
let is_native_only = function
558
+ | Middle_end -> true
554
559
| Scheduling -> true
555
560
| Emit -> true
556
561
| Simplify_cfg -> true
@@ -562,7 +567,7 @@ module Compiler_pass = struct
562
567
| Scheduling -> true
563
568
| Simplify_cfg -> true
564
569
| Selection -> true
565
- | Parsing | Typing | Lambda | Emit -> false
570
+ | Parsing | Typing | Lambda | Middle_end | Emit -> false
566
571
567
572
let available_pass_names ~filter ~native =
568
573
passes
@@ -578,7 +583,7 @@ module Compiler_pass = struct
578
583
| Scheduling -> prefix ^ Compiler_ir. (extension Linear )
579
584
| Simplify_cfg -> prefix ^ Compiler_ir. (extension Cfg )
580
585
| Selection -> prefix ^ Compiler_ir. (extension Cfg ) ^ " -sel"
581
- | Emit | Parsing | Typing | Lambda -> Misc. fatal_error " Not supported"
586
+ | Emit | Parsing | Typing | Lambda | Middle_end -> Misc. fatal_error " Not supported"
582
587
583
588
let of_input_filename name =
584
589
match Compiler_ir. extract_extension_with_pass name with
0 commit comments