build_transformed_function | Construct the expression for a transformed function body. |
can_call_be_transformed | Tests if a call object can be transformed. |
can_loop_transform | Tests if a function, provided by its name, can be transformed. |
can_loop_transform_ | Tests if a function, provided by its name, can be transformed. |
can_loop_transform_body | Tests if a function, provided by its name, can be transformed. |
can_transform_rec | Recursive call for testing if an expression can be transformed into a looping tail-recursion. |
handle_recursive_returns | Handle the actual recursive calls |
handle_recursive_returns_call | Handles the actual recursive returns |
loop_transform | Transform a function from recursive to looping. |
make_returns_explicit | Make exit points into explicit calls to return. |
make_returns_explicit_call | Make exit points into explicit calls to return. |
returns_to_escapes | Make calls to return into calls to escapes. |
returns_to_escapes_call | Make calls to return into calls to escapes. |
simplify_nested_blocks | Simplify nested code-blocks. |
simplify_returns | Remove return(return(...)) expressions |
simplify_returns_call | Removes return(return(...)) cases. |
translate_recursive_call | Translate a return(<recursive-function-call>) expressions into a block that assigns the parameters to local variables and call 'next'. |
user_transform | Apply user transformations depths-first. |
user_transform_rec | Apply user transformations depths-first. |