Project

General

Profile

Revision e7cc5186 src/main_lustre_compiler.ml

View differences:

src/main_lustre_compiler.ml
242 242
  (* Computation of node equation scheduling. It also breaks dependency cycles
243 243
     and warns about unused input or memory variables *)
244 244
  Log.report ~level:1 (fun fmt -> fprintf fmt ".. scheduling@,");
245
  let prog, node_schs = Scheduling.schedule_prog prog in
245
  let prog, node_schs =
246
    try 
247
      Scheduling.schedule_prog prog
248
    with Causality.Error _ -> (* Error is not kept. It is recomputed in a more
249
				 systemtic way in AlgebraicLoop module *)
250
      AlgebraicLoop.analyze prog
251
  in
246 252
  Log.report ~level:1 (fun fmt -> fprintf fmt "%a"              Scheduling.pp_warning_unused node_schs);
247 253
  Log.report ~level:3 (fun fmt -> fprintf fmt "@[<v 2>@ %a@]@," Scheduling.pp_schedule node_schs);
248 254
  Log.report ~level:3 (fun fmt -> fprintf fmt "@[<v 2>@ %a@]@," Scheduling.pp_fanin_table node_schs);
......
421 427
    Arg.parse options anonymous usage
422 428
  with
423 429
  | Parse.Error _
424
  | Types.Error (_,_) | Clocks.Error (_,_)
425
  | Corelang.Error _ (*| Task_set.Error _*)
426
  | Causality.Error _ -> exit 1
430
  | Types.Error (_,_) | Clocks.Error (_,_) -> exit 1
431
  | Corelang.Error (_ (* loc *), kind) (*| Task_set.Error _*) -> exit (Error.return_code kind)
432
  (* | Causality.Error _  -> exit (Error.return_code Error.AlgebraicLoop) *)
427 433
  | Sys_error msg -> (eprintf "Failure: %s@." msg)
428
  | exc -> (track_exception (); raise exc)
434
  | exc -> (track_exception (); raise exc) 
429 435

  
430 436
(* Local Variables: *)
431 437
(* compile-command:"make -C .." *)

Also available in: Unified diff