public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2023-10-19 13:28 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2023-10-19 13:28 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:b348c0c3fd7edaa70e09eef193105165f7313e1b

commit b348c0c3fd7edaa70e09eef193105165f7313e1b
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 76d023fd38b4..98170bef47ba 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4269,7 +4269,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2024-02-23  7:31 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2024-02-23  7:31 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:248bd7d8308449d4c40f7f49bb51f0aec03b6adb

commit 248bd7d8308449d4c40f7f49bb51f0aec03b6adb
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index a89836f0df35..e5a5045f4f5f 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4322,7 +4322,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2023-11-09 13:03 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2023-11-09 13:03 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:a44166ac67ecfb06cb15a39f9f9626538809588a

commit a44166ac67ecfb06cb15a39f9f9626538809588a
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 30ed123d100..4c7ad976963 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4306,7 +4306,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2023-11-02 13:59 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2023-11-02 13:59 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:e34ba8d693265de0cfdca71e04e4becc5756afbc

commit e34ba8d693265de0cfdca71e04e4becc5756afbc
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index c11b58107a3d..473d606a3359 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4306,7 +4306,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2023-10-16 12:49 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2023-10-16 12:49 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9552241ae15096a0fd9076b04f717bda45cc37a8

commit 9552241ae15096a0fd9076b04f717bda45cc37a8
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 4e0b0436aa31..9741d2ee2163 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4228,7 +4228,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery
@ 2023-10-06  7:07 Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2023-10-06  7:07 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:8878d6aead985951b8e6c3bad107f64de74a648d

commit 8878d6aead985951b8e6c3bad107f64de74a648d
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 29 12:57:59 2023 +0200

    Guard SLP optimize latch edge discovery
    
    When inserting additional VEC_PERM nodes it seems we can run
    is_cfg_latch_edge but given there's eventually no representative
    we should avoid ICEing on it.
    
            * tree-vect-slp.cc (vect_optimize_slp_pass::is_cfg_latch_edge):
            VER_PERM node use is never the destination of a latch.

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 0a533251fd9..4646380232f 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -4210,7 +4210,8 @@ vect_optimize_slp_pass::is_cfg_latch_edge (graph_edge *ud)
   slp_tree use = m_vertices[ud->src].node;
   slp_tree def = m_vertices[ud->dest].node;
   if (SLP_TREE_DEF_TYPE (use) != vect_internal_def
-      || SLP_TREE_DEF_TYPE (def) != vect_internal_def)
+      || SLP_TREE_DEF_TYPE (def) != vect_internal_def
+      || SLP_TREE_CODE (use) == VEC_PERM_EXPR)
     return false;
 
   stmt_vec_info use_rep = vect_orig_stmt (SLP_TREE_REPRESENTATIVE (use));

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-02-23  7:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-19 13:28 [gcc(refs/users/rguenth/heads/vect-force-slp)] Guard SLP optimize latch edge discovery Richard Biener
  -- strict thread matches above, loose matches on Subject: below --
2024-02-23  7:31 Richard Biener
2023-11-09 13:03 Richard Biener
2023-11-02 13:59 Richard Biener
2023-10-16 12:49 Richard Biener
2023-10-06  7:07 Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).