PIPS
|
#include <stdio.h>
#include <ctype.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "resources.h"
#include "misc.h"
#include "ri-util.h"
#include "effects-util.h"
#include "text-util.h"
#include "dg.h"
#include "phrase_tools.h"
#include "spaghettify.h"
Go to the source code of this file.
Functions | |
static control | make_condition_from_forloop (forloop curLoop, statement stat) |
The spaghettifier is used in context of PHRASE project while creating "Finite State Machine"-like code portions in order to synthetise them in reconfigurables units. More... | |
static control | make_exit_from_forloop () |
static control | make_body_from_forloop (forloop curLoop, const char *module_name) |
static unstructured | make_unstructured_from_forloop (forloop curLoop, statement stat, const char *module_name) |
statement | spaghettify_forloop (statement stat, const char *module_name) |
This function takes the statement stat as parameter and return a new spaghettized statement, asserting stat is a FORLOOP statement. More... | |
Definition at line 87 of file forloop_spaghettify.c.
References forloop_body, make_control(), module_name(), NIL, and spaghettify_statement().
Referenced by make_unstructured_from_forloop().
The spaghettifier is used in context of PHRASE project while creating "Finite State Machine"-like code portions in order to synthetise them in reconfigurables units.
This file contains the code used for spaghettify forloops.
NOT YET IMPLEMENTED
Definition at line 59 of file forloop_spaghettify.c.
References empty_comments, entity_empty_label(), forloop_condition, is_instruction_test, make_continue_statement(), make_control(), make_instruction(), make_statement(), make_synchronization_none(), make_test(), NIL, statement_extensions, statement_number, and statement_ordering.
Referenced by make_unstructured_from_forloop().
|
static |
Definition at line 82 of file forloop_spaghettify.c.
References entity_empty_label(), make_continue_statement(), make_control(), and NIL.
Referenced by make_unstructured_from_forloop().
|
static |
false condition, we exit from forloop
true condition, we go to body
after body, we go back to condition
Definition at line 95 of file forloop_spaghettify.c.
References call_to_statement, exit, expression_syntax, forloop_condition, forloop_increment, forloop_initialization, link_2_control_nodes(), make_body_from_forloop(), make_condition_from_forloop(), make_control(), make_exit_from_forloop(), make_unstructured(), module_name(), NIL, pips_assert, syntax_call, and syntax_call_p.
Referenced by spaghettify_forloop().
This function takes the statement stat as parameter and return a new spaghettized statement, asserting stat is a FORLOOP statement.
stat | tat |
module_name | odule_name |
Definition at line 135 of file forloop_spaghettify.c.
References instruction_forloop, instruction_tag, is_instruction_forloop, is_instruction_unstructured, make_instruction(), make_unstructured_from_forloop(), module_name(), pips_assert, pips_debug, and statement_instruction.
Referenced by full_spaghettify_statement(), and spaghettify_statement().