63 open Hints_declaration
137 open MemoryInjections
225 open BitVectorTrieSet
231 | Clight_switch_removed_pass
233 | Clight_simplified_pass
244 val pass_rect_Type4 :
245 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
246 -> 'a1 -> 'a1 -> pass -> 'a1
248 val pass_rect_Type5 :
249 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
250 -> 'a1 -> 'a1 -> pass -> 'a1
252 val pass_rect_Type3 :
253 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
254 -> 'a1 -> 'a1 -> pass -> 'a1
256 val pass_rect_Type2 :
257 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
258 -> 'a1 -> 'a1 -> pass -> 'a1
260 val pass_rect_Type1 :
261 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
262 -> 'a1 -> 'a1 -> pass -> 'a1
264 val pass_rect_Type0 :
265 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1
266 -> 'a1 -> 'a1 -> pass -> 'a1
268 val pass_inv_rect_Type4 :
269 pass -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
270 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
271 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
273 val pass_inv_rect_Type3 :
274 pass -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
275 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
276 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
278 val pass_inv_rect_Type2 :
279 pass -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
280 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
281 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
283 val pass_inv_rect_Type1 :
284 pass -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
285 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
286 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
288 val pass_inv_rect_Type0 :
289 pass -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
290 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ ->
291 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
293 val pass_discr : pass -> pass -> __
295 val pass_jmdiscr : pass -> pass -> __
297 type 'x with_stack_model = ('x, AST.ident -> Nat.nat Types.option) Types.prod
299 type syntax_of_pass = __
301 type observe_pass = pass -> syntax_of_pass -> Types.unit0
304 observe_pass -> Csyntax.clight_program -> ((CostLabel.costlabel,
305 Csyntax.clight_program) Types.prod, RTLabs_syntax.rTLabs_program)
306 Types.prod Errors.res
310 val compute_fixpoint : Fixpoints.fixpoint_computer
312 val colour_graph : Interference.coloured_graph_computer
316 val lookup_stack_cost :
317 Joint.params -> Joint.joint_program -> PreIdentifiers.identifier -> Nat.nat
321 observe_pass -> CostLabel.costlabel -> RTLabs_syntax.rTLabs_program ->
322 (((ASM.pseudo_assembly_program, CostLabel.costlabel) Types.prod,
323 Joint.stack_cost_model) Types.prod, Nat.nat) Types.prod Errors.res
338 observe_pass -> ASM.pseudo_assembly_program -> ASM.labelled_object_code
341 open StructuredTraces
351 val lift_out_of_sigma :
352 'a2 -> ('a1 -> (__, __) Types.sum) -> ('a1 Types.sig0 -> 'a2) -> 'a1 -> 'a2
354 val lift_cost_map_back_to_front :
355 ASM.labelled_object_code -> StructuredTraces.as_cost_map ->
356 Label.clight_cost_map
362 type compiler_output = { c_labelled_object_code : ASM.labelled_object_code;
363 c_stack_cost : Joint.stack_cost_model;
364 c_max_stack : Nat.nat;
365 c_init_costlabel : CostLabel.costlabel;
366 c_labelled_clight : Csyntax.clight_program;
367 c_clight_cost_map : Label.clight_cost_map }
369 val compiler_output_rect_Type4 :
370 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
371 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
372 'a1) -> compiler_output -> 'a1
374 val compiler_output_rect_Type5 :
375 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
376 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
377 'a1) -> compiler_output -> 'a1
379 val compiler_output_rect_Type3 :
380 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
381 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
382 'a1) -> compiler_output -> 'a1
384 val compiler_output_rect_Type2 :
385 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
386 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
387 'a1) -> compiler_output -> 'a1
389 val compiler_output_rect_Type1 :
390 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
391 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
392 'a1) -> compiler_output -> 'a1
394 val compiler_output_rect_Type0 :
395 (ASM.labelled_object_code -> Joint.stack_cost_model -> Nat.nat ->
396 CostLabel.costlabel -> Csyntax.clight_program -> Label.clight_cost_map ->
397 'a1) -> compiler_output -> 'a1
399 val c_labelled_object_code : compiler_output -> ASM.labelled_object_code
401 val c_stack_cost : compiler_output -> Joint.stack_cost_model
403 val c_max_stack : compiler_output -> Nat.nat
405 val c_init_costlabel : compiler_output -> CostLabel.costlabel
407 val c_labelled_clight : compiler_output -> Csyntax.clight_program
409 val c_clight_cost_map : compiler_output -> Label.clight_cost_map
411 val compiler_output_inv_rect_Type4 :
412 compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
413 Nat.nat -> CostLabel.costlabel -> Csyntax.clight_program ->
414 Label.clight_cost_map -> __ -> 'a1) -> 'a1
416 val compiler_output_inv_rect_Type3 :
417 compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
418 Nat.nat -> CostLabel.costlabel -> Csyntax.clight_program ->
419 Label.clight_cost_map -> __ -> 'a1) -> 'a1
421 val compiler_output_inv_rect_Type2 :
422 compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
423 Nat.nat -> CostLabel.costlabel -> Csyntax.clight_program ->
424 Label.clight_cost_map -> __ -> 'a1) -> 'a1
426 val compiler_output_inv_rect_Type1 :
427 compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
428 Nat.nat -> CostLabel.costlabel -> Csyntax.clight_program ->
429 Label.clight_cost_map -> __ -> 'a1) -> 'a1
431 val compiler_output_inv_rect_Type0 :
432 compiler_output -> (ASM.labelled_object_code -> Joint.stack_cost_model ->
433 Nat.nat -> CostLabel.costlabel -> Csyntax.clight_program ->
434 Label.clight_cost_map -> __ -> 'a1) -> 'a1
436 val compiler_output_jmdiscr : compiler_output -> compiler_output -> __
439 observe_pass -> Csyntax.clight_program -> compiler_output Errors.res