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).