gcc/0127-Add-missing-check-for-gassign.patch
Mingchuan Wu e3967b0b94 [Sync] Sync patch from openeuler/gcc
(cherry picked from commit 63828598f16b978ef91ea80730b8c13a698bfbb0)
2023-12-05 19:18:37 +08:00

36 lines
1.2 KiB
Diff

From fee3fcbaa008eef0efe59e1e9eff9cc4e4767423 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Thu, 18 Jun 2020 09:11:31 +0200
Subject: [PATCH 12/26] Add missing check for gassign.
gcc/ChangeLog:
* tree-vect-generic.c (expand_vector_condition): Check
for gassign before inspecting RHS.
Reference commit in GCC: d11c9841d54ed74978f8d0e0f352631f90504dd5
Signed-off-by: Pronin Alexander 00812787 <pronin.alexander@huawei.com>
---
gcc/tree-vect-generic.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index f0c28c97a..f6b8287e5 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -957,8 +957,9 @@ expand_vector_condition (gimple_stmt_iterator *gsi)
if (code == SSA_NAME)
{
- gimple *assign = SSA_NAME_DEF_STMT (a);
- if (TREE_CODE_CLASS (gimple_assign_rhs_code (assign)) == tcc_comparison)
+ gassign *assign = dyn_cast<gassign *> (SSA_NAME_DEF_STMT (a));
+ if (assign != NULL
+ && TREE_CODE_CLASS (gimple_assign_rhs_code (assign)) == tcc_comparison)
{
a_is_comparison = true;
a1 = gimple_assign_rhs1 (assign);
--
2.27.0