mirror of git://gcc.gnu.org/git/gcc.git
Add param parloops-chunk-size
2015-09-03 Tom de Vries <tom@codesourcery.com> * doc/invoke.texi (parloops-chunk-size): Add item. * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM. * tree-parloops.c: Include params.h. (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if param parloops-chunk-size is used. From-SVN: r227434
This commit is contained in:
parent
2699123aab
commit
f7f186847d
|
|
@ -1,3 +1,11 @@
|
||||||
|
2015-09-03 Tom de Vries <tom@codesourcery.com>
|
||||||
|
|
||||||
|
* doc/invoke.texi (parloops-chunk-size): Add item.
|
||||||
|
* params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
|
||||||
|
* tree-parloops.c: Include params.h.
|
||||||
|
(create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
|
||||||
|
param parloops-chunk-size is used.
|
||||||
|
|
||||||
2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
|
2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
|
||||||
|
|
||||||
PR middle-end/67351
|
PR middle-end/67351
|
||||||
|
|
|
||||||
|
|
@ -11001,6 +11001,10 @@ path. The default is 10.
|
||||||
Maximum number of new jump thread paths to create for a finite state
|
Maximum number of new jump thread paths to create for a finite state
|
||||||
automaton. The default is 50.
|
automaton. The default is 50.
|
||||||
|
|
||||||
|
@item parloops-chunk-size
|
||||||
|
Chunk size of omp schedule for loops parallelized by parloops. The default
|
||||||
|
is 0.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1135,6 +1135,11 @@ DEFPARAM (PARAM_MAX_FSM_THREAD_PATHS,
|
||||||
"max-fsm-thread-paths",
|
"max-fsm-thread-paths",
|
||||||
"Maximum number of new jump thread paths to create for a finite state automaton",
|
"Maximum number of new jump thread paths to create for a finite state automaton",
|
||||||
50, 1, 999999)
|
50, 1, 999999)
|
||||||
|
|
||||||
|
DEFPARAM (PARAM_PARLOOPS_CHUNK_SIZE,
|
||||||
|
"parloops-chunk-size",
|
||||||
|
"Chunk size of omp schedule for loops parallelized by parloops",
|
||||||
|
0, 0, 0)
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Local variables:
|
Local variables:
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#include "tree-nested.h"
|
#include "tree-nested.h"
|
||||||
#include "cgraph.h"
|
#include "cgraph.h"
|
||||||
#include "tree-ssa.h"
|
#include "tree-ssa.h"
|
||||||
|
#include "params.h"
|
||||||
|
|
||||||
/* This pass tries to distribute iterations of loops into several threads.
|
/* This pass tries to distribute iterations of loops into several threads.
|
||||||
The implementation is straightforward -- for each loop we test whether its
|
The implementation is straightforward -- for each loop we test whether its
|
||||||
|
|
@ -2092,6 +2093,10 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
|
||||||
type = TREE_TYPE (cvar);
|
type = TREE_TYPE (cvar);
|
||||||
t = build_omp_clause (loc, OMP_CLAUSE_SCHEDULE);
|
t = build_omp_clause (loc, OMP_CLAUSE_SCHEDULE);
|
||||||
OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_STATIC;
|
OMP_CLAUSE_SCHEDULE_KIND (t) = OMP_CLAUSE_SCHEDULE_STATIC;
|
||||||
|
int chunk_size = PARAM_VALUE (PARAM_PARLOOPS_CHUNK_SIZE);
|
||||||
|
if (chunk_size != 0)
|
||||||
|
OMP_CLAUSE_SCHEDULE_CHUNK_EXPR (t)
|
||||||
|
= build_int_cst (integer_type_node, chunk_size);
|
||||||
|
|
||||||
for_stmt = gimple_build_omp_for (NULL, GF_OMP_FOR_KIND_FOR, t, 1, NULL);
|
for_stmt = gimple_build_omp_for (NULL, GF_OMP_FOR_KIND_FOR, t, 1, NULL);
|
||||||
gimple_set_location (for_stmt, loc);
|
gimple_set_location (for_stmt, loc);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue