25 #include "pips_config.h"
43 #include "resources.h"
164 return returned_statement;
unstructured make_unstructured(control a1, control a2)
test make_test(expression a1, statement a2, statement a3)
statement make_statement(entity a1, intptr_t a2, intptr_t a3, string a4, instruction a5, list a6, string a7, extensions a8, synchronization a9)
instruction make_instruction(enum instruction_utype tag, void *val)
synchronization make_synchronization_none(void)
control make_control(statement a1, list a2, list a3)
const char * module_name(const char *s)
Return the module part of an entity name.
void link_3_control_nodes(control c_test, control c_then, control c_else)
Add an edge between 2 control nodes.
void link_2_control_nodes(control source, control target)
Add an edge between 2 control nodes.
#define NIL
The empty list (nil in Lisp)
statement make_continue_statement(entity)
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
statement spaghettify_statement(statement, const char *)
spaghettify.c
#define empty_comments
Empty comments (i.e.
entity entity_empty_label(void)
#define statement_ordering(x)
@ is_instruction_unstructured
#define instruction_tag(x)
#define statement_extensions(x)
#define test_condition(x)
#define statement_instruction(x)
#define instruction_test(x)
#define statement_number(x)
static control make_exit_from_test()
Build and return a new control containing exit statement of the "destructured" test (this is a contin...
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.
statement spaghettify_test(statement stat, const char *module_name)
test_spaghettify.c
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.
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 cod...
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.