summaryrefslogtreecommitdiff
path: root/gcc/omp-low.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-26 08:20:57 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-26 08:20:57 +0000
commitf77459c5ff68b948b4f6d664a5e9a4beb2cc3864 (patch)
treefec7ee7b475d5fccd6db80f93052baa34e06da9e /gcc/omp-low.c
parent2fa2456e019557b04ba55c89d7827a49716480c4 (diff)
downloadgcc-f77459c5ff68b948b4f6d664a5e9a4beb2cc3864.tar.gz
PR middle-end/25989
* tree-flow.h (struct omp_region): Add sched_kind. * omp-low.c (expand_parallel_call): Use region->inner->sched_kind instead of extracting omp for data. (expand_omp_for): Save extracted sched_kind. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113268 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r--gcc/omp-low.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index bcc3650c26a..519f48d39be 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -2032,13 +2032,8 @@ expand_parallel_call (struct omp_region *region, basic_block bb,
switch (region->inner->type)
{
case OMP_FOR:
- {
- tree stmt = last_stmt (region->inner->entry);
- struct omp_for_data fd;
- extract_omp_for_data (stmt, &fd);
- start_ix = BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START
- + fd.sched_kind;
- }
+ start_ix = BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START
+ + region->inner->sched_kind;
break;
case OMP_SECTIONS:
start_ix = BUILT_IN_GOMP_PARALLEL_SECTIONS_START;
@@ -2944,6 +2939,7 @@ expand_omp_for (struct omp_region *region)
push_gimplify_context ();
extract_omp_for_data (last_stmt (region->entry), &fd);
+ region->sched_kind = fd.sched_kind;
if (fd.sched_kind == OMP_CLAUSE_SCHEDULE_STATIC && !fd.have_ordered)
{