Projects
Mega:23.03
gcc
_service:tar_scm:0085-loop-distribution-Bugfix-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0085-loop-distribution-Bugfix-for-loop-distribution.patch of Package gcc
From d73cd8783ca930724def3e9909fc484ec15404f5 Mon Sep 17 00:00:00 2001 From: benniaobufeijiushiji <linda7@huawei.com> Date: Mon, 19 Dec 2022 11:48:12 +0800 Subject: [PATCH 1/3] [loop-distribution] Bugfix for loop-distribution Add exception in function BUILD_QUEUE when there is a null pointer in grouped_loads. --- gcc/tree-loop-distribution.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c index 88b56379c..b68b9c7eb 100644 --- a/gcc/tree-loop-distribution.c +++ b/gcc/tree-loop-distribution.c @@ -3208,16 +3208,31 @@ build_queue (loop_vec_info vinfo, unsigned vf, { unsigned group_size = stmt_info->size; stmt_vec_info c_stmt_info = stmt_info; + bool succ = true; while (group_size >= vf) { vec_alloc (worklist, vf); for (unsigned j = 0; j < vf; ++j) { + if (c_stmt_info == NULL) + { + succ = false; + break; + } ginfo = new _group_info (); ginfo->stmt = c_stmt_info->stmt; worklist->safe_push (ginfo); c_stmt_info = c_stmt_info->next_element; } + if (!succ) + { + unsigned k = 0; + ginfo = NULL; + FOR_EACH_VEC_ELT (*worklist, k, ginfo) + delete ginfo; + vec_free (worklist); + break; + } worklists.safe_push (worklist); group_size -= vf; } @@ -3711,6 +3726,7 @@ free_ginfos (vec<vec<group_info> *> &worklists) unsigned j = 0; FOR_EACH_VEC_ELT (*worklist, j, ginfo) delete ginfo; + vec_free (worklist); } } -- 2.27.0.windows.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2