43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
|
|
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
|
||
|
|
|