@@ -587,73 +587,73 @@ Module ForExtraction.
587
587
Class ParsedSynthesizeOptions :=
588
588
{
589
589
(** Is the code static / private *)
590
- static :> static_opt
590
+ #[global] static :: static_opt
591
591
(** Is the internal code static / private *)
592
- ; internal_static :> internal_static_opt
592
+ ; #[global] internal_static :: internal_static_opt
593
593
(** Is the code inlined *)
594
- ; inline :> inline_opt
594
+ ; #[global] inline :: inline_opt
595
595
(** Is the internal code inlined *)
596
- ; inline_internal :> inline_internal_opt
596
+ ; #[global] inline_internal :: inline_internal_opt
597
597
(** Should we only use signed integers *)
598
- ; only_signed :> only_signed_opt
598
+ ; #[global] only_signed :: only_signed_opt
599
599
(** Should we emit expressions requiring cmov *)
600
- ; no_select :> no_select_opt
600
+ ; #[global] no_select :: no_select_opt
601
601
(** Should we emit primitive operations *)
602
- ; emit_primitives :> emit_primitives_opt
602
+ ; #[global] emit_primitives :: emit_primitives_opt
603
603
(** Various output options including: *)
604
604
(** Should we skip emitting typedefs for field elements *)
605
605
(** Should we relax the bounds on the return carry type of sbb/adc operations? *)
606
- ; output_options :> output_options_opt
606
+ ; #[global] output_options :: output_options_opt
607
607
(** Should we use the alternate implementation of cmovznz *)
608
- ; use_mul_for_cmovznz :> use_mul_for_cmovznz_opt
608
+ ; #[global] use_mul_for_cmovznz :: use_mul_for_cmovznz_opt
609
609
(** Various abstract interpretation options *)
610
610
(** Should we avoid uint1 at the output of shiftr *)
611
- ; abstract_interpretation_options :> AbstractInterpretation.Options
611
+ ; #[global] abstract_interpretation_options :: AbstractInterpretation.Options
612
612
(** Should we split apart oversized operations? *)
613
- ; should_split_mul :> should_split_mul_opt
613
+ ; #[global] should_split_mul :: should_split_mul_opt
614
614
(** Should we split apart multi-return operations? *)
615
- ; should_split_multiret :> should_split_multiret_opt
615
+ ; #[global] should_split_multiret :: should_split_multiret_opt
616
616
(** Should we remove use of value_barrier? *)
617
- ; unfold_value_barrier :> unfold_value_barrier_opt
617
+ ; #[global] unfold_value_barrier :: unfold_value_barrier_opt
618
618
(** Should we widen the carry to the full bitwidth? *)
619
- ; widen_carry :> widen_carry_opt
619
+ ; #[global] widen_carry :: widen_carry_opt
620
620
(** Should we widen the byte type to the full bitwidth? *)
621
- ; widen_bytes :> widen_bytes_opt
621
+ ; #[global] widen_bytes :: widen_bytes_opt
622
622
(** Should we ignore function-name mismatch errors when there's only one assembly function and only one actual function requested? *)
623
- ; ignore_unique_asm_names :> ignore_unique_asm_names_opt
623
+ ; #[global] ignore_unique_asm_names :: ignore_unique_asm_names_opt
624
624
(** What method should we use for rewriting? *)
625
- ; low_level_rewriter_method :> low_level_rewriter_method_opt
625
+ ; #[global] low_level_rewriter_method :: low_level_rewriter_method_opt
626
626
:= default_low_level_rewriter_method
627
627
(** What's the bitwidth? *)
628
- ; machine_wordsize :> machine_wordsize_opt
628
+ ; #[global] machine_wordsize :: machine_wordsize_opt
629
629
(** What's the package name *)
630
- ; internal_package_name :> package_name_opt
630
+ ; #[global] internal_package_name :: package_name_opt
631
631
(** What's the class name *)
632
- ; internal_class_name :> class_name_opt
632
+ ; #[global] internal_class_name :: class_name_opt
633
633
(** What's are the naming conventions to use? *)
634
- ; language_naming_conventions :> language_naming_conventions_opt
634
+ ; #[global] language_naming_conventions :: language_naming_conventions_opt
635
635
(** Documentation options *)
636
- ; documentation_options :> documentation_options_opt
636
+ ; #[global] documentation_options :: documentation_options_opt
637
637
(** assembly equivalence checker options *)
638
- ; equivalence_checker_options :> equivalence_checker_options_opt
638
+ ; #[global] equivalence_checker_options :: equivalence_checker_options_opt
639
639
(** error if there are un-requested assembly functions *)
640
- ; error_on_unused_assembly_functions :> error_on_unused_assembly_functions_opt
640
+ ; #[global] error_on_unused_assembly_functions :: error_on_unused_assembly_functions_opt
641
641
(** don't prepend fiat to prefix *)
642
642
; no_prefix_fiat : bool
643
643
(** Extra lines before the documentation header *)
644
644
; before_header_lines : list string
645
645
(** Extra lines at the beginning of the documentation header *)
646
646
; extra_early_header_lines : list string
647
647
(** Debug rewriting *)
648
- ; debug_rewriting :> debug_rewriting_opt
648
+ ; #[global] debug_rewriting :: debug_rewriting_opt
649
649
(** Print debug info on success too *)
650
650
; debug_on_success : bool
651
651
}.
652
652
Class SynthesizeOptions :=
653
653
{
654
- parsed_synthesize_options :> ParsedSynthesizeOptions
654
+ #[global] parsed_synthesize_options :: ParsedSynthesizeOptions
655
655
(** Lines of assembly hints *)
656
- ; assembly_hints_lines :> assembly_hints_lines_opt
656
+ ; #[global] assembly_hints_lines :: assembly_hints_lines_opt
657
657
}.
658
658
659
659
(** We define a class for holding the various options about file interaction that we don't pass to [Synthesize] *)
0 commit comments