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_test (test the_test, 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_if_true_from_test (test the_test, const char *module_name) |
Build and return a new control containing "if true" statement of the "destructured" test. More... | |
static control | make_if_false_from_test (test the_test, const char *module_name) |
Build and return a new control containing "if false" statement of the "destructured" test. More... | |
static control | make_exit_from_test () |
Build and return a new control containing exit statement of the "destructured" test (this is a continue statement) More... | |
static unstructured | make_unstructured_from_test (test the_test, statement stat, const char *module_name) |
Build and return a new unstructured coding the "destructured" test. More... | |
statement | spaghettify_test (statement stat, const char *module_name) |
test_spaghettify.c More... | |
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 tests. Build and return a new control containing condition statement of the "destructured" test
Definition at line 62 of file test_spaghettify.c.
References empty_comments, entity_empty_label(), is_instruction_test, make_continue_statement(), make_control(), make_instruction(), make_statement(), make_synchronization_none(), make_test(), NIL, statement_extensions, statement_number, statement_ordering, and test_condition.
Referenced by make_unstructured_from_test().
|
static |
Build and return a new control containing exit statement of the "destructured" test (this is a continue statement)
Definition at line 111 of file test_spaghettify.c.
References entity_empty_label(), make_continue_statement(), make_control(), and NIL.
Referenced by make_unstructured_from_test().
Build and return a new control containing "if false" statement of the "destructured" test.
Definition at line 99 of file test_spaghettify.c.
References make_control(), module_name(), NIL, spaghettify_statement(), and test_false.
Referenced by make_unstructured_from_test().
Build and return a new control containing "if true" statement of the "destructured" test.
Definition at line 87 of file test_spaghettify.c.
References make_control(), module_name(), NIL, spaghettify_statement(), and test_true.
Referenced by make_unstructured_from_test().
|
static |
Build and return a new unstructured coding the "destructured" test.
The first connexion is the false one
Definition at line 119 of file test_spaghettify.c.
References exit, link_2_control_nodes(), link_3_control_nodes(), make_condition_from_test(), make_exit_from_test(), make_if_false_from_test(), make_if_true_from_test(), make_unstructured(), and module_name().
Referenced by spaghettify_test().
stat | tat |
module_name | odule_name |
Definition at line 142 of file test_spaghettify.c.
References instruction_tag, instruction_test, is_instruction_test, is_instruction_unstructured, make_instruction(), make_unstructured_from_test(), module_name(), pips_assert, pips_debug, and statement_instruction.
Referenced by full_spaghettify_statement(), and spaghettify_statement().