Revision e7cc5186
Added by Pierre-Loïc Garoche almost 6 years ago
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
Refactor error printing.