PIPS
|
kernels manipulation More...
#include <ctype.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "kernel_memory_mapping.h"
#include "effects.h"
#include "ri-util.h"
#include "prettyprint.h"
#include "workspace-util.h"
#include "semantics.h"
#include "effects-util.h"
#include "text.h"
#include "pipsdbm.h"
#include "resources.h"
#include "properties.h"
#include "misc.h"
#include "control.h"
#include "callgraph.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "effects-convex.h"
#include "text-util.h"
#include "parser_private.h"
#include "preprocessor.h"
#include "transformer.h"
#include "accel-util.h"
Go to the source code of this file.
Macros | |
#define | INIT_STATEMENT_SIZE 20 |
#define | INIT_ENTITY_SIZE 10 |
#define | MAKE_SET() (set_make( set_pointer )) |
Macro to create set. More... | |
#define | COPY_FROM_IN(st) ((set)hash_get(copies_from_in, (char *)st)) |
#define | COPY_FROM_OUT(st) ((set)hash_get(copies_from_out, (char *)st)) |
#define | COPY_TO_IN(st) ((set)hash_get(copies_to_in, (char *)st)) |
#define | COPY_TO_OUT(st) ((set)hash_get(copies_to_out, (char *)st)) |
#define | TABLE_FREE(t) {HASH_MAP( k, v, {set_free( (set)v ) ;}, t ) ; hash_table_free(t);} |
Functions | |
static expression | makeTransfertSizeExpression (entity e) |
Make a sizeof expression. More... | |
static const char * | get_dma_name (enum region_to_dma_switch m, int d) |
converts a region_to_dma_switch to corresponding dma name according to properties More... | |
static statement | make_dma_transfert (entity e, enum region_to_dma_switch dma) |
void | dump_entity_set (set s) |
ikernels.c More... | |
static bool | force_renormalize (expression e) |
Should be useful, but for some bullshit reason the array dimensions even for simple case like a[512][512] might be previously normalized "COMPLEX" This occurs in some special cases... More... | |
static void | force_renormalize_rwt (expression e) |
static bool | array_must_fully_written_by_regions_p (entity e_used, list lreg) |
Check that an array is fully written by an exact W region in a list. More... | |
static set | interprocedural_mapping (string res, call c) |
Translate the interprocedural summary for a function into a set of local corresponding parameters (entity only) More... | |
bool | is_a_kernel (const char *func_name) |
static void | init_one_statement (statement st) |
static void | copy_from_statement (statement st) |
static void | copy_from_block (statement st, cons *sts) |
static void | copy_from_test (statement st, test t) |
static void | copy_from_all_kind_of_loop (statement st, statement body) |
static void | copy_from_loop (statement st, loop l) |
static void | copy_from_whileloop (statement st, whileloop l) |
static void | copy_from_forloop (statement st, forloop l) |
static void | copy_from_call (statement st, call c) |
static void | copy_from_unstructured (_UNUSED_ statement st, _UNUSED_ unstructured u) |
static void | copy_to_statement (statement st) |
static void | copy_to_block (statement st, list sts) |
static void | copy_to_test (statement st, test t) |
static void | copy_to_all_kind_of_loop (statement st, statement body) |
static void | copy_to_loop (statement st, loop l) |
static void | copy_to_whileloop (statement st, whileloop l) |
static void | copy_to_forloop (statement st, forloop l) |
static void | copy_to_call (statement st, call c) |
static void | copy_to_unstructured (_UNUSED_ statement st, _UNUSED_ unstructured u) |
static void | get_written_entities (statement s, set written_entities) |
static void | transfert_statement (statement st, set already_transfered_to, set already_transfered_from, set array_to_transfer_to_after, set array_to_transfer_from_before) |
static void | transfert_block (_UNUSED_ statement st, list sts, set already_transfered, set already_transfered_from) |
static void | transfert_test (_UNUSED_ statement st, test t, set already_transfered, set already_transfered_from, set transfert_to, set transfert_from) |
static void | transfert_loop (_UNUSED_ statement st, loop l, set already_transfered, set already_transfered_from, set transfert_to, set transfert_from) |
static void | transfert_whileloop (_UNUSED_ statement st, whileloop l, set already_transfered, set already_transfered_from, set transfert_to, set transfert_from) |
static void | transfert_forloop (_UNUSED_ statement st, forloop l, set already_transfered, set already_transfered_from, set transfert_to, set transfert_from) |
static void | transfert_call (_UNUSED_ statement st, _UNUSED_ call c, _UNUSED_ set already_transfered, _UNUSED_ set already_transfered_from) |
static void | transfert_unstructured (_UNUSED_ statement st, _UNUSED_ unstructured u, _UNUSED_ set already_transfered, _UNUSED_ set already_transfered_from) |
bool | ikernel_load_store (__attribute__((unused)) char *module_name) |
bool | kernel_data_mapping (char *module_name) |
static void | wrap_argument (syntax s) |
static void | wrap_call_argument (call c, const char *module_name) |
bool | wrap_kernel_argument (char *module_name) |
This pass will wrap kernel arguments in a call to a wrapper function. More... | |
Variables | |
static hash_table | copies_from_in |
copy_from_in maps each statement to the "copy from" data that are in-coming the statement More... | |
static hash_table | copies_from_out |
copy_from_out maps each statement to the "copy from" data that are out-going from the statement More... | |
static hash_table | copies_to_in |
copy_to_in maps each statement to the "copy to" data that are in-coming the statement More... | |
static hash_table | copies_to_out |
copy_to_out maps each statement to the "copy to" data that are out-going from the statement More... | |
static entity | wrapper_function = NULL |
kernels manipulation
Definition in file ikernels.c.
#define COPY_FROM_IN | ( | st | ) | ((set)hash_get(copies_from_in, (char *)st)) |
Definition at line 151 of file ikernels.c.
#define COPY_FROM_OUT | ( | st | ) | ((set)hash_get(copies_from_out, (char *)st)) |
Definition at line 166 of file ikernels.c.
#define COPY_TO_IN | ( | st | ) | ((set)hash_get(copies_to_in, (char *)st)) |
Definition at line 181 of file ikernels.c.
#define COPY_TO_OUT | ( | st | ) | ((set)hash_get(copies_to_out, (char *)st)) |
Definition at line 196 of file ikernels.c.
#define INIT_ENTITY_SIZE 10 |
Definition at line 142 of file ikernels.c.
#define INIT_STATEMENT_SIZE 20 |
Definition at line 141 of file ikernels.c.
#define MAKE_SET | ( | ) | (set_make( set_pointer )) |
Macro to create set.
Definition at line 145 of file ikernels.c.
#define TABLE_FREE | ( | t | ) | {HASH_MAP( k, v, {set_free( (set)v ) ;}, t ) ; hash_table_free(t);} |
Check that an array is fully written by an exact W region in a list.
Definition at line 238 of file ikernels.c.
References array, base_to_list(), CONS, descriptor_convex, descriptor_convex_p, dimension_lower, dimension_upper, effect_any_reference, effect_approximation, effect_descriptor, effect_write_p, empty, entity_declaration_sc(), entity_type, entity_whole_region(), expression_domain, expression_reference(), expression_reference_p(), force_renormalize(), force_renormalize_rwt(), FOREACH, gen_recurse, gen_remove(), ifdebug, make_action_write_memory(), make_approximation_exact(), NIL, pips_assert, pips_debug, print_region, reference_indices, reference_variable, region_empty_p, region_exact_p, region_exact_projection_along_variables(), region_sup_difference(), sc_safe_append(), sc_safe_normalize(), store_effect_p(), type_variable, type_variable_p, and variable_dimensions.
Referenced by copy_to_call().
Compute "in" sets for the loop body
Compute loop body
Fix point
Compute "out" sets for the loop
Body is always done at least one time
Body is not always done
Definition at line 448 of file ikernels.c.
References COPY_FROM_IN, COPY_FROM_OUT, copy_from_statement(), pips_debug, set_assign(), and set_intersection().
Referenced by copy_from_forloop(), copy_from_loop(), and copy_from_whileloop().
The initial in for the block
loop over statements inside the block
propagate "in" sets
Compute the "copy from" for this statement
Get the ins for next statement
The outs for the whole block
Definition at line 392 of file ikernels.c.
References COPY_FROM_IN, COPY_FROM_OUT, copy_from_statement(), FOREACH, and set_assign().
Referenced by copy_from_statement().
The initial in
The outs is initially the in
Definition at line 512 of file ikernels.c.
References call_function, callee, COPY_FROM_IN, COPY_FROM_OUT, EFFECT, effect_any_reference, entity_array_p(), entity_local_name(), entity_name, FOREACH, fprintf(), ifdebug, interprocedural_mapping(), is_a_kernel(), load_proper_rw_effects_list(), load_statement_out_regions(), pips_debug, print_entities(), reference_variable, set_add_element(), set_assign(), set_belong_p(), set_del_element(), set_free(), set_make(), set_pointer, set_to_list(), set_union(), and user_call_p().
Referenced by copy_from_statement().
Definition at line 507 of file ikernels.c.
References copy_from_all_kind_of_loop(), and forloop_body.
Referenced by copy_from_statement().
Definition at line 479 of file ikernels.c.
References copy_from_all_kind_of_loop(), COPY_FROM_OUT, COPY_TO_IN, entity_name, loop_body, MAKE_SET, pips_debug, set_add_element(), set_belong_p(), set_difference(), SET_FOREACH, and set_free().
Referenced by copy_from_statement().
|
static |
Compute "copy from" sets for the instruction : recursion
Definition at line 580 of file ikernels.c.
References compare_entities(), concatenate(), copy_from_block(), copy_from_call(), copy_from_forloop(), COPY_FROM_IN, copy_from_loop(), COPY_FROM_OUT, copy_from_test(), copy_from_unstructured(), copy_from_whileloop(), empty_statement_or_continue_without_comment_p(), entity_local_name(), entity_name, expression_call(), expression_call_p(), FOREACH, fprintf(), ifdebug, insert_comments_to_statement(), instruction_block, instruction_call, instruction_expression, instruction_forloop, instruction_loop, instruction_tag, instruction_test, instruction_unstructured, instruction_whileloop, is_instruction_block, is_instruction_call, is_instruction_expression, is_instruction_forloop, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, is_instruction_whileloop, pips_internal_error, pips_user_warning, print_expression(), set_assign(), set_to_sorted_list(), statement_block_p, statement_instruction, statement_ordering, and strdup().
Referenced by copy_from_all_kind_of_loop(), copy_from_block(), copy_from_test(), and kernel_data_mapping().
Compute true branch
Compute false branch
Compute "out" sets for the test
Definition at line 411 of file ikernels.c.
References COPY_FROM_IN, COPY_FROM_OUT, copy_from_statement(), EFFECT, effect_any_reference, entity_array_p(), entity_name, FOREACH, fprintf(), ifdebug, load_proper_rw_effects_list(), pips_debug, print_entities(), print_expression(), reference_variable, set_assign(), set_del_element(), set_intersection(), set_to_list(), test_condition, test_false, and test_true.
Referenced by copy_from_statement().
|
static |
Definition at line 575 of file ikernels.c.
References pips_user_error.
Referenced by copy_from_statement().
Definition at line 503 of file ikernels.c.
References copy_from_all_kind_of_loop(), and whileloop_body.
Referenced by copy_from_statement().
Compute "out" sets for the loop body
Save result
Compute loop body
Fix point
Compute "in" sets for the loop
Body is always done at least one time
Body is not always done
Definition at line 728 of file ikernels.c.
References COPY_TO_IN, COPY_TO_OUT, copy_to_statement(), MAKE_SET, pips_debug, set_assign(), set_equal_p(), set_free(), set_intersection(), and set_union().
Referenced by copy_to_forloop(), copy_to_loop(), and copy_to_whileloop().
The initial out for the block
loop over statements inside the block
propagate "out" sets
Compute the "copy to" for this statement
Get the outs for next statement
This is a non necessary optimisation, the set is just smaller with
The outs for the whole block
FIXME : free sts_reverse list && copy_to_out
Definition at line 669 of file ikernels.c.
References COPY_TO_IN, COPY_TO_OUT, copy_to_statement(), FOREACH, gen_copy_seq(), gen_nreverse(), MAKE_SET, and set_assign().
Referenced by copy_to_statement().
The initial
The ins are initially the out minus CopyFrom
Definition at line 780 of file ikernels.c.
References array_must_fully_written_by_regions_p(), call_function, callee, COPY_TO_IN, COPY_TO_OUT, EFFECT, effect_any_reference, entity_array_p(), entity_local_name(), entity_name, FOREACH, ifdebug, interprocedural_mapping(), is_a_kernel(), load_proper_rw_effects_list(), load_statement_in_regions(), load_statement_out_regions(), pips_debug, reference_variable, set_add_element(), set_assign(), set_del_element(), set_free(), set_union(), and user_call_p().
Referenced by copy_to_statement().
Definition at line 776 of file ikernels.c.
References copy_to_all_kind_of_loop(), and forloop_body.
Referenced by copy_to_statement().
Definition at line 768 of file ikernels.c.
References copy_to_all_kind_of_loop(), and loop_body.
Referenced by copy_to_statement().
|
static |
Compute "copy from" sets for the instruction : recursion
The ins are initially the out minus CopyFrom
Definition at line 863 of file ikernels.c.
References compare_entities(), concatenate(), copy_to_block(), copy_to_call(), copy_to_forloop(), COPY_TO_IN, copy_to_loop(), COPY_TO_OUT, copy_to_test(), copy_to_unstructured(), copy_to_whileloop(), empty_statement_or_continue_without_comment_p(), entity_local_name(), entity_name, expression_call(), expression_call_p(), FOREACH, fprintf(), gen_context_recurse, gen_true2(), get_written_entities(), ifdebug, insert_comments_to_statement(), instruction_block, instruction_call, instruction_expression, instruction_forloop, instruction_loop, instruction_tag, instruction_test, instruction_unstructured, instruction_whileloop, is_instruction_block, is_instruction_call, is_instruction_expression, is_instruction_forloop, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, is_instruction_whileloop, MAKE_SET, pips_debug, pips_internal_error, pips_user_warning, print_expression(), set_assign(), set_difference(), set_free(), set_intersection(), set_to_sorted_list(), statement_block_p, statement_domain, statement_instruction, statement_ordering, and strdup().
Referenced by copy_to_all_kind_of_loop(), copy_to_block(), copy_to_test(), and kernel_data_mapping().
Compute true branch
Compute false branch
Compute "in" sets for the test
Definition at line 695 of file ikernels.c.
References COPY_TO_IN, COPY_TO_OUT, copy_to_statement(), EFFECT, effect_any_reference, entity_array_p(), entity_name, FOREACH, fprintf(), ifdebug, load_proper_rw_effects_list(), pips_debug, print_expression(), reference_variable, set_assign(), set_del_element(), set_intersection(), test_condition, test_false, and test_true.
Referenced by copy_to_statement().
|
static |
Definition at line 849 of file ikernels.c.
References pips_user_error.
Referenced by copy_to_statement().
Definition at line 772 of file ikernels.c.
References copy_to_all_kind_of_loop(), and whileloop_body.
Referenced by copy_to_statement().
void dump_entity_set | ( | set | s | ) |
Definition at line 209 of file ikernels.c.
References entity_name, fprintf(), and SET_FOREACH.
|
static |
Should be useful, but for some bullshit reason the array dimensions even for simple case like a[512][512] might be previously normalized "COMPLEX" This occurs in some special cases...
Definition at line 221 of file ikernels.c.
References expression_normalized, free_normalized(), normalized_undefined, normalized_undefined_p, and NormalizeExpression().
Referenced by array_must_fully_written_by_regions_p(), and force_renormalize_rwt().
|
static |
Definition at line 231 of file ikernels.c.
References force_renormalize().
Referenced by array_must_fully_written_by_regions_p().
|
static |
converts a region_to_dma_switch to corresponding dma name according to properties
If the DMA is not scalar, the DMA function name is in the property of the form KERNEL_LOAD_STORE_LOAD/STORE_FUNCTION_dD:
Definition at line 92 of file ikernels.c.
References asprintf, free(), get_string_property(), int, and pips_debug.
Referenced by make_dma_transfert().
Definition at line 854 of file ikernels.c.
References EFFECT, effect_any_reference, effect_write_p, FOREACH, load_proper_rw_effects_list(), reference_variable, set_add_element(), and store_effect_p().
Referenced by copy_to_statement(), and transfert_statement().
bool ikernel_load_store | ( | __attribute__((unused)) char * | module_name | ) |
set_entity_to_size(); should be performed at the workspace level
out regions
in regions
preconditions
Definition at line 1301 of file ikernels.c.
References db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_on, get_current_module_statement(), local_name_to_top_level_entity(), MAKE_SET, module_name(), reset_current_module_entity(), reset_current_module_statement(), reset_in_effects(), reset_out_effects(), reset_precondition_map(), reset_proper_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_in_effects(), set_out_effects(), set_precondition_map(), set_proper_rw_effects(), and transfert_statement().
|
static |
First initialization (normal use)
If the statement has never been seen, allocate new sets:
Definition at line 379 of file ikernels.c.
References copies_from_in, copies_from_out, copies_to_in, copies_to_out, COPY_FROM_IN, hash_put(), HASH_UNDEFINED_VALUE, and MAKE_SET.
Referenced by kernel_data_mapping().
Translate the interprocedural summary for a function into a set of local corresponding parameters (entity only)
of entity
if there are more actuals than formals, they are skipped.
Definition at line 311 of file ikernels.c.
References call_arguments, call_function, callee, CAR, CDR, db_get_memory_resource(), ENDP, entity_local_name(), entity_name, EXPRESSION, expression_reference_p(), expression_syntax, find_ith_formal_parameter(), fprintf(), gen_free_list(), gen_length(), MAKE_SET, memory_mapping_map, module_formal_parameters(), pips_debug, pips_internal_error, pips_user_warning, print_syntax(), reference_variable, same_entity_p(), set_add_element(), set_assign(), set_del_element(), SET_FOREACH, syntax_reference, and top_level_entity_p().
Referenced by copy_from_call(), and copy_to_call().
bool is_a_kernel | ( | const char * | func_name | ) |
func_name | unc_name |
Definition at line 369 of file ikernels.c.
References callees_callees, db_get_memory_resource(), FOREACH, same_string_p, and STRING.
Referenced by copy_from_call(), copy_to_call(), kernel_data_mapping(), and opencl_compile_mergeable_dag().
bool kernel_data_mapping | ( | char * | module_name | ) |
set_entity_to_size(); should be performed at the workspace level
regions
out regions
in regions
preconditions
preconditions
Initialize global hashtables
Initialize set for each statement
Run the pass except if current module is a kernel
module_name | odule_name |
Definition at line 1344 of file ikernels.c.
References copies_from_in, copies_from_out, copies_to_in, copies_to_out, COPY_FROM_OUT, copy_from_statement(), COPY_TO_IN, copy_to_statement(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_on, fprintf(), free_value_mappings(), gen_recurse, gen_true(), get_current_module_entity(), get_current_module_statement(), hash_pointer, hash_table_make(), ifdebug, init_one_statement(), INIT_STATEMENT_SIZE, is_a_kernel(), local_name_to_top_level_entity(), make_memory_mapping(), MAKE_SET, module_name(), module_to_value_mappings(), pips_debug, print_entities(), region, reset_cumulated_rw_effects(), reset_current_module_entity(), reset_current_module_statement(), reset_in_effects(), reset_out_effects(), reset_precondition_map(), reset_proper_rw_effects(), set_cumulated_rw_effects(), set_current_module_entity(), set_current_module_statement(), set_in_effects(), set_out_effects(), set_precondition_map(), set_proper_rw_effects(), set_to_list(), statement_domain, and transfert_statement().
|
static |
Definition at line 110 of file ikernels.c.
References AddEntityToModuleCompilationUnit(), copy_language(), entity_to_expression(), entity_undefined_p, get_current_module_entity(), get_dma_name(), instruction_to_statement(), make_call(), make_empty_subroutine(), make_expression_list, make_instruction_call(), makeTransfertSizeExpression(), module_language, module_name_to_entity(), NIL, and pips_user_warning.
Referenced by transfert_block(), and transfert_loop().
|
static |
Make a sizeof expression.
Definition at line 63 of file ikernels.c.
References copy_basic(), entity_intrinsic(), entity_type, make_expression(), make_sizeofexpression_type(), make_syntax_sizeofexpression(), make_type_variable(), make_variable(), MakeBinaryCall(), MULTIPLY_OPERATOR_NAME, NIL, normalized_undefined, pips_assert, SizeOfDimensions(), type_variable, type_variable_p, variable_basic, and variable_dimensions.
Referenced by make_dma_transfert(), and wrap_argument().
|
static |
loop over statements inside the block
Compute the transfer for this statement
Definition at line 975 of file ikernels.c.
References CAR, CDR, compare_entities(), CONS, current, dma_load, dma_store, ENDP, FOREACH, gen_free_list(), make_dma_transfert(), MAKE_SET, pips_debug, POP, set_to_sorted_list(), STATEMENT, and transfert_statement().
Referenced by transfert_statement().
|
static |
Definition at line 1138 of file ikernels.c.
Referenced by transfert_statement().
|
static |
Compute loop body
Definition at line 1123 of file ikernels.c.
References forloop_body, and transfert_statement().
Referenced by transfert_statement().
|
static |
Compute loop body
Definition at line 1059 of file ikernels.c.
References compare_entities(), COPY_FROM_OUT, dma_store, FOREACH, insert_statement(), loop_body, make_dma_transfert(), MAKE_SET, sequence_statements, set_difference(), set_free(), set_to_sorted_list(), set_undefined, set_undefined_p, statement_sequence(), statement_sequence_p(), and transfert_statement().
Referenced by transfert_statement().
|
static |
Compute "copy from" sets for the instruction : recursion
The second argument is not used
Definition at line 1152 of file ikernels.c.
References compare_entities(), concatenate(), COPY_FROM_IN, COPY_FROM_OUT, COPY_TO_IN, COPY_TO_OUT, entity_local_name(), entity_name, FOREACH, fprintf(), free(), gen_context_recurse, gen_true2(), get_written_entities(), ifdebug, insert_comments_to_statement(), instruction_block, instruction_call, instruction_expression, instruction_forloop, instruction_loop, instruction_tag, instruction_test, instruction_unstructured, instruction_whileloop, is_instruction_block, is_instruction_call, is_instruction_expression, is_instruction_forloop, is_instruction_goto, is_instruction_loop, is_instruction_test, is_instruction_unstructured, is_instruction_whileloop, MAKE_SET, pips_debug, pips_internal_error, set_add_element(), set_difference(), SET_FOREACH, set_free(), set_intersection(), set_to_sorted_list(), statement_domain, statement_instruction, statement_number, strdup(), transfert_block(), transfert_call(), transfert_forloop(), transfert_loop(), transfert_test(), transfert_unstructured(), and transfert_whileloop().
Referenced by ikernel_load_store(), kernel_data_mapping(), transfert_block(), transfert_forloop(), transfert_loop(), transfert_test(), and transfert_whileloop().
|
static |
Definition at line 1019 of file ikernels.c.
References set_assign(), set_make(), set_pointer, test_false, test_true, and transfert_statement().
Referenced by transfert_statement().
|
static |
Definition at line 1144 of file ikernels.c.
References pips_user_error.
Referenced by transfert_statement().
|
static |
Compute loop body
Definition at line 1108 of file ikernels.c.
References transfert_statement(), and whileloop_body.
Referenced by transfert_statement().
|
static |
ize_of_e
Definition at line 1445 of file ikernels.c.
References AddEntityToModuleCompilationUnit(), copy_syntax(), entity_array_p(), get_current_module_entity(), is_syntax_call, make_call(), make_expression(), make_expression_list, makeTransfertSizeExpression(), normalized_undefined, reference_variable, syntax_call, syntax_reference, syntax_reference_p, syntax_tag, and wrapper_function.
Referenced by wrap_call_argument().
|
static |
Definition at line 1469 of file ikernels.c.
References call_arguments, call_function, call_intrinsic_p, CAR, ENDP, EXPRESSION, gen_recurse, gen_true(), module_local_name(), module_name(), POP, same_string_p, syntax_domain, and wrap_argument().
Referenced by wrap_kernel_argument().
bool wrap_kernel_argument | ( | char * | module_name | ) |
This pass will wrap kernel arguments in a call to a wrapper function.
prelude
o the job
validate
ostlude
module_name | odule_name |
Definition at line 1486 of file ikernels.c.
References call_domain, callees_callees, caller_name, compute_callees(), copy_language(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, debug_on, entity_undefined_p, FOREACH, gen_context_recurse, gen_true2(), get_current_module_statement(), get_string_property(), local_name_to_top_level_entity(), make_empty_subroutine(), module_language, module_name(), module_name_to_entity(), module_reorder(), pips_user_warning, reset_current_module_entity(), reset_current_module_statement(), set_current_module_entity(), set_current_module_statement(), STRING, wrap_call_argument(), and wrapper_function.
|
static |
copy_from_in maps each statement to the "copy from" data that are in-coming the statement
Definition at line 150 of file ikernels.c.
Referenced by init_one_statement(), and kernel_data_mapping().
|
static |
copy_from_out maps each statement to the "copy from" data that are out-going from the statement
Definition at line 165 of file ikernels.c.
Referenced by init_one_statement(), and kernel_data_mapping().
|
static |
copy_to_in maps each statement to the "copy to" data that are in-coming the statement
Definition at line 180 of file ikernels.c.
Referenced by init_one_statement(), and kernel_data_mapping().
|
static |
copy_to_out maps each statement to the "copy to" data that are out-going from the statement
Definition at line 195 of file ikernels.c.
Referenced by init_one_statement(), and kernel_data_mapping().
|
static |
Definition at line 1442 of file ikernels.c.
Referenced by wrap_argument(), and wrap_kernel_argument().