summaryrefslogtreecommitdiff
path: root/0028-Array-widen-compare-Fix-the-return-value-match-after.patch
blob: c5622b8358ffa66c5ee3326dd0b0646be65c2ed0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From a89b84cd038e02f0cdafecea1cf337d5f8480683 Mon Sep 17 00:00:00 2001
From: dingguangya <dingguangya1@huawei.com>
Date: Fri, 8 Sep 2023 11:55:04 +0800
Subject: [PATCH] [Array-widen-compare] Fix the return value match after update
 the get_loop_exit_edges interface

The get_loop_exit_edges interface returns a value type
from vec<edge> -> auto_vec<edge>

diff --git a/gcc/tree-ssa-loop-array-widen-compare.cc b/gcc/tree-ssa-loop-array-widen-compare.cc
index ba6170fa0..d27f91f11 100644
--- a/gcc/tree-ssa-loop-array-widen-compare.cc
+++ b/gcc/tree-ssa-loop-array-widen-compare.cc
@@ -272,12 +272,12 @@ record_origin_loop_exit_info (class loop *loop)
       || origin_loop.cond_stmt1 != NULL || origin_loop.cond_stmt2 != NULL)
     return false;
 
-  vec<edge> exit_edges = get_loop_exit_edges (loop);
+  auto_vec<edge> exit_edges = get_loop_exit_edges (loop);
   if (exit_edges == vNULL)
     return false;
 
   if (exit_edges.length () != 2)
-    goto fail;
+    return false;
 
   FOR_EACH_VEC_ELT (exit_edges, i, e)
     {
@@ -304,8 +304,6 @@ record_origin_loop_exit_info (class loop *loop)
       && origin_loop.cond_stmt1 != NULL && origin_loop.cond_stmt2 != NULL)
     found = true;
 
-fail:
-  exit_edges.release ();
   return found;
 }
 
-- 
2.33.0