This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi!
I cleaned up this remnant from an earlier OpenACC execution model
implementation:
On Fri, 29 May 2015 18:23:21 +0200, Bernd Schmidt <bernds@codesourcery.com> wrote:
> When predicating the code for OpenACC, we should avoid the entry block
> in an offloaded region, which contains setup code that should be run in
> every thread. The following patch adds a new marker statement that is
> used to identify this block. Currently, predication doesn't happen
> anyway due to an oversight in the algorithm, but I'll be fixing that in
> a followup patch.
>
> Committed on gomp-4_0-branch.
> --- gcc/gimple.def (revision 223867)
> +++ gcc/gimple.def (working copy)
> +/* GIMPLE_OMP_ENTRY_END marks the end of the unpredicated entry block
> + into an offloaded region. */
> +DEFGSCODE(GIMPLE_OMP_ENTRY_END, "gimple_omp_entry_end", GSS_BASE)
Committed to gomp-4_0-branch in r234822:
commit af76e7c5279c0eb87b6b91b42d2568679ad6bbb9
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri Apr 8 06:30:08 2016 +0000
Remove GIMPLE_OMP_ENTRY_END
gcc/
* gimple.def: Remove GIMPLE_OMP_ENTRY_END. Remove all uses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@234822 138bc75d-0d04-0410-961f-82ee72b054a4
---
gcc/ChangeLog.gomp | 4 ++++
gcc/gimple-low.c | 1 -
gcc/gimple-pretty-print.c | 4 ----
gcc/gimple.c | 9 ---------
gcc/gimple.def | 4 ----
gcc/gimple.h | 2 --
gcc/omp-low.c | 15 +--------------
7 files changed, 5 insertions(+), 34 deletions(-)
diff --git gcc/ChangeLog.gomp gcc/ChangeLog.gomp
index 3c9eed6..bffc261 100644
--- gcc/ChangeLog.gomp
+++ gcc/ChangeLog.gomp
@@ -1,3 +1,7 @@
+2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gimple.def: Remove GIMPLE_OMP_ENTRY_END. Remove all uses.
+
2016-03-11 Cesar Philippidis <cesar@codesourcery.com>
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
diff --git gcc/gimple-low.c gcc/gimple-low.c
index 13c0165..eb90d48 100644
--- gcc/gimple-low.c
+++ gcc/gimple-low.c
@@ -313,7 +313,6 @@ lower_stmt (gimple_stmt_iterator *gsi, struct lower_data *data)
case GIMPLE_OMP_ATOMIC_LOAD:
case GIMPLE_OMP_ATOMIC_STORE:
case GIMPLE_OMP_CONTINUE:
- case GIMPLE_OMP_ENTRY_END:
break;
case GIMPLE_CALL:
diff --git gcc/gimple-pretty-print.c gcc/gimple-pretty-print.c
index 50d61fa..e27214f 100644
--- gcc/gimple-pretty-print.c
+++ gcc/gimple-pretty-print.c
@@ -2304,10 +2304,6 @@ pp_gimple_stmt_1 (pretty_printer *buffer, gimple *gs, int spc, int flags)
pp_string (buffer, "GIMPLE_SECTIONS_SWITCH");
break;
- case GIMPLE_OMP_ENTRY_END:
- pp_string (buffer, "GIMPLE_OMP_ENTRY_END");
- break;
-
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_TASKGROUP:
case GIMPLE_OMP_SECTION:
diff --git gcc/gimple.c gcc/gimple.c
index ee11112..b0e19d5 100644
--- gcc/gimple.c
+++ gcc/gimple.c
@@ -828,15 +828,6 @@ gimple_build_debug_source_bind_stat (tree var, tree value,
}
-/* Build a GIMPLE_OMP_ENTRY_END statement. */
-
-gimple *
-gimple_build_omp_entry_end (void)
-{
- return gimple_alloc (GIMPLE_OMP_ENTRY_END, 0);
-}
-
-
/* Build a GIMPLE_OMP_CRITICAL statement.
BODY is the sequence of statements for which only one thread can execute.
diff --git gcc/gimple.def gcc/gimple.def
index faf0166..2ff22b8 100644
--- gcc/gimple.def
+++ gcc/gimple.def
@@ -227,10 +227,6 @@ DEFGSCODE(GIMPLE_OMP_ATOMIC_STORE, "gimple_omp_atomic_store",
iteration in partially lowered OpenMP code. */
DEFGSCODE(GIMPLE_OMP_CONTINUE, "gimple_omp_continue", GSS_OMP_CONTINUE)
-/* GIMPLE_OMP_ENTRY_END marks the end of the unpredicated entry block
- into an offloaded region. */
-DEFGSCODE(GIMPLE_OMP_ENTRY_END, "gimple_omp_entry_end", GSS_BASE)
-
/* GIMPLE_OMP_CRITICAL <NAME, BODY> represents
#pragma omp critical [name]
diff --git gcc/gimple.h gcc/gimple.h
index 22d2a07..6d15dab 100644
--- gcc/gimple.h
+++ gcc/gimple.h
@@ -1451,7 +1451,6 @@ gdebug *gimple_build_debug_bind_stat (tree, tree, gimple * MEM_STAT_DECL);
gdebug *gimple_build_debug_source_bind_stat (tree, tree, gimple * MEM_STAT_DECL);
#define gimple_build_debug_source_bind(var,val,stmt) \
gimple_build_debug_source_bind_stat ((var), (val), (stmt) MEM_STAT_INFO)
-gimple *gimple_build_omp_entry_end (void);
gomp_critical *gimple_build_omp_critical (gimple_seq, tree, tree);
gomp_for *gimple_build_omp_for (gimple_seq, int, tree, size_t, gimple_seq);
gomp_parallel *gimple_build_omp_parallel (gimple_seq, tree, tree, tree);
@@ -6061,7 +6060,6 @@ gimple_return_set_retbnd (gimple *gs, tree retval)
case GIMPLE_OMP_ORDERED: \
case GIMPLE_OMP_CRITICAL: \
case GIMPLE_OMP_RETURN: \
- case GIMPLE_OMP_ENTRY_END: \
case GIMPLE_OMP_ATOMIC_LOAD: \
case GIMPLE_OMP_ATOMIC_STORE: \
case GIMPLE_OMP_CONTINUE: \
diff --git gcc/omp-low.c gcc/omp-low.c
index 299447e..9cb6425 100644
--- gcc/omp-low.c
+++ gcc/omp-low.c
@@ -13159,14 +13159,6 @@ expand_omp_target (struct omp_region *region)
if (gimple_omp_target_kind (entry_stmt) == GF_OMP_TARGET_KIND_OACC_KERNELS)
mark_loops_in_oacc_kernels_region (region->entry, region->exit);
- basic_block entry_succ_bb = single_succ (entry_bb);
- if (offloaded)
- {
- gsi = gsi_last_bb (entry_succ_bb);
- if (gimple_code (gsi_stmt (gsi)) == GIMPLE_OMP_ENTRY_END)
- gsi_remove (&gsi, true);
- }
-
if (offloaded)
{
unsigned srcidx, dstidx, num;
@@ -13187,6 +13179,7 @@ expand_omp_target (struct omp_region *region)
tree data_arg = gimple_omp_target_data_arg (entry_stmt);
if (data_arg)
{
+ basic_block entry_succ_bb = single_succ (entry_bb);
gimple_stmt_iterator gsi;
tree arg;
gimple *tgtcopy_stmt = NULL;
@@ -14063,8 +14056,6 @@ build_omp_regions_1 (basic_block bb, struct omp_region *parent,
gcc_assert (parent);
parent->cont = bb;
}
- else if (code == GIMPLE_OMP_ENTRY_END)
- gcc_assert (parent);
else if (code == GIMPLE_OMP_SECTIONS_SWITCH)
{
/* GIMPLE_OMP_SECTIONS_SWITCH is part of
@@ -16978,9 +16969,6 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
false, NULL, NULL, &fork_seq, &join_seq, ctx);
}
- if (offloaded)
- gimple_seq_add_stmt (&new_body, gimple_build_omp_entry_end ());
-
gimple_seq_add_seq (&new_body, fork_seq);
gimple_seq_add_seq (&new_body, tgt_body);
gimple_seq_add_seq (&new_body, join_seq);
@@ -18501,7 +18489,6 @@ make_gimple_omp_edges (basic_block bb, struct omp_region **region,
fallthru = false;
break;
- case GIMPLE_OMP_ENTRY_END:
case GIMPLE_OMP_ATOMIC_LOAD:
case GIMPLE_OMP_ATOMIC_STORE:
fallthru = true;
GrÃÃe
Thomas
Attachment:
signature.asc
Description: PGP signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |