diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-09-04 20:32:00 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-09-04 20:32:00 +0200 |
commit | 547fba7e1ff982be701e7b727f1b776fbf920f26 (patch) | |
tree | ff09e527405b967213181deefa305f57fdbfc62b /gcc/tree-ssa-live.c | |
parent | b52ec220503a1c7fa25b21b8c34c4428b3ec13f8 (diff) | |
download | gcc-547fba7e1ff982be701e7b727f1b776fbf920f26.zip gcc-547fba7e1ff982be701e7b727f1b776fbf920f26.tar.gz gcc-547fba7e1ff982be701e7b727f1b776fbf920f26.tar.bz2 |
re PR middle-end/67452 (LTO ICE with -fopenmp-simd)
PR middle-end/67452
* tree-ssa-live.c: Include cfgloop.h.
(remove_unused_locals): Clear loop->simduid if simduid is about
to be removed from cfun->local_decls.
* gcc.dg/lto/pr67452_0.c: New test.
From-SVN: r227498
Diffstat (limited to 'gcc/tree-ssa-live.c')
-rw-r--r-- | gcc/tree-ssa-live.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c index 4772558..e944a9a 100644 --- a/gcc/tree-ssa-live.c +++ b/gcc/tree-ssa-live.c @@ -50,6 +50,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-ssa.h" #include "cgraph.h" #include "ipa-utils.h" +#include "cfgloop.h" #ifdef ENABLE_CHECKING static void verify_live_on_entry (tree_live_info_p); @@ -820,6 +821,14 @@ remove_unused_locals (void) } } + if (cfun->has_simduid_loops) + { + struct loop *loop; + FOR_EACH_LOOP (loop, 0) + if (loop->simduid && !is_used_p (loop->simduid)) + loop->simduid = NULL_TREE; + } + cfun->has_local_explicit_reg_vars = false; /* Remove unmarked local and global vars from local_decls. */ |