21 Star 27 Fork 151

src-openEuler/gcc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0292-Fix-errors-in-ipa-prefetch-IAORPF-and-IAOSJ0.patch 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
huangzifeng 提交于 2024-11-21 11:35 +08:00 . Sync patches from branch openEuler-24.09
From 808294bf0f32aaff1cc7e56a756b246d328b3402 Mon Sep 17 00:00:00 2001
From: Diachkov Ilia <diachkov.ilia1@huawei-partners.com>
Date: Fri, 6 Sep 2024 11:10:03 +0800
Subject: [PATCH 2/3] Fix errors in ipa-prefetch (IAORPF and IAOSJ0)
Signed-off-by: Diachkov Ilia <diachkov.ilia1@huawei-partners.com>
---
gcc/ipa-prefetch.cc | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/ipa-prefetch.cc b/gcc/ipa-prefetch.cc
index b000d4d75..74af55af0 100644
--- a/gcc/ipa-prefetch.cc
+++ b/gcc/ipa-prefetch.cc
@@ -1681,7 +1681,8 @@ insert_page_check (tree addr, tree_poly_offset_map &offset_map,
unsigned long long pmask = ~(param_ipa_prefetch_pagesize - 1);
tree pmask_cst = build_int_cst (utype, pmask);
tree off_tree = wide_int_to_tree (sizetype, offset);
- gcc_assert (TREE_CODE (addr_type) == POINTER_TYPE);
+ gcc_assert (TREE_CODE (addr_type) == POINTER_TYPE
+ || TREE_CODE (addr_type) == REFERENCE_TYPE);
tree addr_with_offset = gimple_build (&stmts, POINTER_PLUS_EXPR,
addr_type, addr, off_tree);
tree conv_addr = make_ssa_name (utype);
@@ -2082,11 +2083,11 @@ optimize_function (cgraph_node *n, function *fn)
for (unsigned int i = 0; i < vmrs.length (); i++)
find_nearest_common_post_dominator (vmrs[i], dom_bb);
- if (!dom_bb)
+ if (!dom_bb || dom_bb->index == ENTRY_BLOCK || dom_bb->index == EXIT_BLOCK)
{
if (dump_file)
- fprintf (dump_file, "Post dominator bb for MRs is not found. "
- "Skip the case.\n");
+ fprintf (dump_file, "Post dominator bb for MRs is not found or "
+ "it's an entry/exit block. Skip the case.\n");
return 0;
}
else if (dump_file)
--
2.33.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/gcc.git
git@gitee.com:src-openeuler/gcc.git
src-openeuler
gcc
gcc
master

搜索帮助