@@ -663,20 +663,43 @@ def _to_frozen(
663663 # All name_hint_tags shared at least some common prefix.
664664 function_name = f"frozen_{ name_hint } " if name_hint else "frozen_result"
665665
666+ self ._compile_trace_callback (
667+ function_name , "frozen-expr" , normalized_expr )
668+
669+ self ._compile_trace_callback (
670+ function_name , "post_transform_dag" , transformed_dag )
671+
666672 self ._dag_transform_cache [normalized_expr ] = (
667673 transformed_dag , function_name )
668674
669675 from arraycontext .loopy import _DEFAULT_LOOPY_OPTIONS
670676 opts = _DEFAULT_LOOPY_OPTIONS
671677 assert opts .return_dict
672678
679+ self ._compile_trace_callback (
680+ function_name , "pre_generate_loopy" , transformed_dag )
681+
673682 pt_prg = pt .generate_loopy (transformed_dag ,
674683 options = opts ,
675684 function_name = function_name ,
676685 target = self .get_target ()
677686 ).bind_to_context (self .context )
687+
688+ self ._compile_trace_callback (
689+ function_name , "post_generate_loopy" , pt_prg )
690+
691+ self ._compile_trace_callback (
692+ function_name , "pre_transform_loopy_program" , pt_prg )
693+
678694 pt_prg = pt_prg .with_transformed_translation_unit (
679695 self .transform_loopy_program )
696+
697+ self ._compile_trace_callback (
698+ function_name , "post_transform_loopy_program" , pt_prg )
699+
700+ self ._compile_trace_callback (
701+ function_name , "final" , pt_prg )
702+
680703 self ._freeze_prg_cache [normalized_expr ] = pt_prg
681704 else :
682705 transformed_dag , function_name = (
0 commit comments