diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/omp-offload.c | 11 |
2 files changed, 5 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9ed8713..83d4e8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2017-02-14 Jakub Jelinek <jakub@redhat.com> + PR middle-end/79505 + * omp-offload.c (free_oacc_loop): Release loop->ifns vector. + (new_oacc_loop_raw): Don't clear already cleared fields. + PR target/79481 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, diff --git a/gcc/omp-offload.c b/gcc/omp-offload.c index 11696b8..aed9e140 100644 --- a/gcc/omp-offload.c +++ b/gcc/omp-offload.c @@ -681,7 +681,6 @@ new_oacc_loop_raw (oacc_loop *parent, location_t loc) oacc_loop *loop = XCNEW (oacc_loop); loop->parent = parent; - loop->child = loop->sibling = NULL; if (parent) { @@ -690,15 +689,6 @@ new_oacc_loop_raw (oacc_loop *parent, location_t loc) } loop->loc = loc; - loop->marker = NULL; - memset (loop->heads, 0, sizeof (loop->heads)); - memset (loop->tails, 0, sizeof (loop->tails)); - loop->routine = NULL_TREE; - - loop->mask = loop->e_mask = loop->flags = loop->inner = 0; - loop->chunk_size = 0; - loop->head_end = NULL; - return loop; } @@ -773,6 +763,7 @@ free_oacc_loop (oacc_loop *loop) if (loop->child) free_oacc_loop (loop->child); + loop->ifns.release (); free (loop); } |