PIPS
|
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "boolean.h"
#include <stdbool.h>
#include "genC.h"
#include "linear.h"
#include "ri.h"
#include "effects.h"
#include "database.h"
#include "misc.h"
#include "text.h"
#include "text-util.h"
#include "ri-util.h"
#include "effects-util.h"
#include "accel-util.h"
#include "effects-generic.h"
#include "effects-simple.h"
#include "pipsdbm.h"
#include "resources.h"
#include "control.h"
#include "conversion.h"
#include "properties.h"
#include "transformations.h"
#include "effects-convex.h"
#include "complexity_ri.h"
#include "dg.h"
#include "graph.h"
#include "ricedg.h"
#include "chains.h"
#include "task_parallelization.h"
Go to the source code of this file.
Typedefs | |
typedef dg_arc_label | arc_label |
Instantiation of the dependence graph: More... | |
typedef dg_vertex_label | vertex_label |
Functions | |
static void | gen_omp_taskwait (statement stmt) |
static void | gen_omp_parallel (statement stmt) |
static bool | gen_synchronization (statement stmt, bool nested_p, int length) |
static bool | gen_openmp (statement stmt, bool nested_p) |
bool | openmp_task_generation (char *module_name) |
OpenMP generation pass. More... | |
Variables | |
static bool | omp_parallel = false |
typedef dg_arc_label arc_label |
Instantiation of the dependence graph:
Definition at line 41 of file openmp_generation.c.
typedef dg_vertex_label vertex_label |
Definition at line 42 of file openmp_generation.c.
|
static |
Definition at line 61 of file openmp_generation.c.
References add_pragma_str_to_statement(), concatenate(), CONS, declaration_statement_p(), FOREACH, gen_length(), gen_nreverse(), make_block_statement(), make_instruction_sequence(), make_sequence(), NIL, return_st, return_statement_p(), sequence_statements, STATEMENT, statement_instruction, statement_sequence(), statement_sequence_p(), statement_undefined, and strdup().
Referenced by openmp_task_generation().
|
static |
Definition at line 51 of file openmp_generation.c.
References add_pragma_str_to_statement(), concatenate(), CONS, copy_statement(), entity_empty_label(), gen_nreverse(), make_continue_statement(), make_instruction_sequence(), make_sequence(), make_synchronization_none(), NIL, STATEMENT, statement_instruction, statement_synchronization, and strdup().
Referenced by gen_synchronization().
Definition at line 119 of file openmp_generation.c.
References CAR, gen_length(), gen_synchronization(), instruction_block, instruction_tag, instruction_test, is_instruction_block, is_instruction_loop, is_instruction_test, loop_body, MAPL, sequence_statements, STATEMENT, statement_instruction, statement_loop(), statement_sequence(), test_false, and test_true.
Referenced by openmp_task_generation().
Definition at line 89 of file openmp_generation.c.
References add_pragma_str_to_statement(), gen_length(), gen_omp_taskwait(), is_synchronization_barrier, is_synchronization_spawn, omp_parallel, sequence_statements, statement_sequence(), statement_synchronization, and synchronization_tag.
Referenced by gen_openmp().
bool openmp_task_generation | ( | char * | module_name | ) |
OpenMP generation pass.
module_name | odule_name |
Definition at line 160 of file openmp_generation.c.
References copy_statement(), db_get_memory_resource(), DB_PUT_MEMORY_RESOURCE, gen_omp_parallel(), gen_openmp(), insert_statement(), module_name(), module_name_to_entity(), module_reorder(), omp_parallel, reset_current_module_entity(), reset_current_module_statement(), reset_ordering_to_statement(), return_st, set_current_module_entity(), set_current_module_statement(), set_ordering_to_statement(), and statement_undefined_p.
Definition at line 48 of file openmp_generation.c.
Referenced by gen_synchronization(), and openmp_task_generation().