Project

General

Profile

Revision 70df2f87 src/inliner.ml

View differences:

src/inliner.ml
62 62
  assert (reset = None);
63 63

  
64 64
  let assign_inputs = mkeq loc (List.map (fun v -> v.var_id) inputs', args) in
65
  let assign_inputs = Splitting.tuple_split_eq assign_inputs in
65 66
  let expr = expr_of_expr_list 
66 67
    loc 
67 68
    (List.map (fun v -> mkexpr loc (Expr_ident v.var_id)) outputs')
......
77 78
  in
78 79
  expr, 
79 80
  inputs'@outputs'@locals'@locals, 
80
  assign_inputs::eqs',
81
  assign_inputs@eqs',
81 82
  asserts'
82 83

  
83 84

  
......
118 119
      (* let _ =     Format.eprintf "Inlining call to %s@." id in *)
119 120
      let node = try List.find (check_node_name id) nodes 
120 121
	with Not_found -> (assert false) in
121
      let node = 
122
	match node.top_decl_desc with Node nd -> nd | _ -> assert false in
122
      let node = node_of_top node in
123 123
      let node = inline_node node nodes in
124 124
      let expr, locals', eqs'', asserts'' = 
125 125
	inline_call expr args' reset locals' node in

Also available in: Unified diff