25 #include "pips_config.h"
73 #include "resources.h"
77 #define MAX_STATIC_CONTROL_LINE_NUMBER 2048
78 #define CODE_WITH_STATIC_CONTROLIZE_EXT ".stco"
94 debug_on(
"PRINT_STATIC_CONTROL_DEBUG_LEVEL" );
97 user_log(
"\n\n *** PRINTING STATIC CONTROL for %s\n",
189 #define MAX_CHAR_NUMBER 39
199 string before_string =
strdup(
" ");
202 blank_string =
strdup(
"// ");
204 blank_string =
strdup(
"C ");
215 before_string = blank_string;
230 string before_string =
strdup(
" ");
233 blank_string =
strdup(
"// ");
235 blank_string =
strdup(
"C ");
252 before_string = blank_string;
void user_log(const char *format,...)
sentence make_sentence(enum sentence_utype tag, void *val)
struct _newgen_struct_statement_ * statement
const char * module_name(const char *s)
Return the module part of an entity name.
static void comment(string_buffer code, spoc_hardware_type hw, dagvtx v, int stage, int side, bool flip)
#define NIL
The empty list (nil in Lisp)
list gen_copy_seq(list l)
Copy a list structure.
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
#define CAR(pcons)
Get the value of the first element of a list.
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
#define MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
string db_get_memory_resource(const char *rname, const char *oname, bool pure)
Return the pointer to the resource, whatever it is.
#define ADD_ELEMENT_TO_LIST(_list, _type, _element)
enum language_utype get_prettyprint_language_tag()
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define GET_STATEMENT_MAPPING(map, stat)
hash_table statement_mapping
these macros are obsolete! newgen functions (->) should be used instead
string concatenate(const char *,...)
Return the concatenation of the given strings.
#define static_control_loops(x)
struct _newgen_struct_static_control_ * static_control
#define static_control_params(x)
#define static_control_yes(x)
#define static_control_tests(x)
void close_prettyprint()
because some prettyprint functions may be used for debug, so the last hook set by somebody may have s...
list Words_Expression(expression obj)
of string
void init_prettyprint(text(*hook)(entity, int, statement))
checks that the prettyprint hook was actually reset...
text text_module(entity, statement)
bool make_text_resource(const char *, const char *, const char *, text)
print.c
dfg_vertex_label vertex_label
Local defines.
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
entity local_name_to_top_level_entity(const char *n)
This function try to find a top-level entity from a local name.
#define EXPRESSION(x)
EXPRESSION.
static bool __attribute__((unused))
cons * words_test_list(list obj)
================================================================
text text_static_control(entity module __attribute__((unused)), int margin __attribute__((unused)), statement stat)
================================================================
#define CODE_WITH_STATIC_CONTROLIZE_EXT
list words_entity_list(list obj)
================================================================
text store_sc_text_line(static_control sc)
================================================================
bool print_code_static_control(const string module_name)
================================================================
static statement_mapping Gsc_map
Global variables.
cons * words_loop_list(list obj)
================================================================
The structure used to build lists in NewGen.
#define CHAIN_SWORD(l, s)
#define MERGE_TEXTS(r, t)
#define ADD_SENTENCE_TO_TEXT(t, p)
string words_to_string(cons *lw)
#define exp
Avoid some warnings from "gcc -Wshadow".