public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-4388] tree-optimization/106995 - if-conversion and vanishing loops
@ 2022-11-29 11:59 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2022-11-29 11:59 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:063ba138eaa15ceecf23a24906e0e19be98d509d

commit r13-4388-g063ba138eaa15ceecf23a24906e0e19be98d509d
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Nov 29 10:41:36 2022 +0100

    tree-optimization/106995 - if-conversion and vanishing loops
    
    When we version loops for vectorization during if-conversion it
    can happen that either loop vanishes because we run some VN and
    CFG cleanup.  If the to-be vectorized part vanishes we already
    redirect the versioning condition to the original loop.  The following
    does the same in case the original loop vanishes as happened
    for the testcase in the bug in the past (but no longer).
    
            PR tree-optimization/106995
            * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the
            versioning condition to the original loop if this very loop
            vanished during CFG cleanup.

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

diff --git a/gcc/tree-if-conv.cc b/gcc/tree-if-conv.cc
index 34bb507ff3b..64b20b4a9e1 100644
--- a/gcc/tree-if-conv.cc
+++ b/gcc/tree-if-conv.cc
@@ -3761,7 +3761,8 @@ pass_if_conversion::execute (function *fun)
       if (!gimple_bb (g))
 	continue;
       unsigned ifcvt_loop = tree_to_uhwi (gimple_call_arg (g, 0));
-      if (!get_loop (fun, ifcvt_loop))
+      unsigned orig_loop = tree_to_uhwi (gimple_call_arg (g, 1));
+      if (!get_loop (fun, ifcvt_loop) || !get_loop (fun, orig_loop))
 	{
 	  if (dump_file)
 	    fprintf (dump_file, "If-converted loop vanished\n");

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-11-29 11:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-29 11:59 [gcc r13-4388] tree-optimization/106995 - if-conversion and vanishing loops 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).