|
@@ -687,7 +687,13 @@ def compile_function_body_fast(jit, function_name, body_id, _):
|
|
|
"CFG for function '%s' at '%d':\n%s" % (
|
|
|
function_name, body_id,
|
|
|
'\n'.join(map(str, cfg_ir.get_all_reachable_blocks(entry_point)))))
|
|
|
+
|
|
|
+ # Lower the CFG to tree IR.
|
|
|
+ constructed_body = cfg_to_tree.lower_flow_graph(entry_point, jit)
|
|
|
+
|
|
|
+ # Optimize the tree that was generated.
|
|
|
+ constructed_body, = yield [("CALL_ARGS", [optimize_tree_ir, (constructed_body,)])]
|
|
|
raise primitive_functions.PrimitiveFinished(
|
|
|
create_bare_function(
|
|
|
function_name, parameter_list,
|
|
|
- cfg_to_tree.lower_flow_graph(entry_point, jit)))
|
|
|
+ constructed_body))
|