72 lines
2.7 KiB
Diff
72 lines
2.7 KiB
Diff
From ed548cec9d8efe8ef742225c39f5d84aba4be81b Mon Sep 17 00:00:00 2001
|
|
From: Diachkov Ilia WX1215920 <diachkov.ilia1@huawei-partners.com>
|
|
Date: Wed, 20 Dec 2023 13:53:47 +0300
|
|
Subject: [PATCH 3/5] [IPA] Fix fails on checked build and comments from review
|
|
|
|
---
|
|
gcc/ipa-prefetch.c | 24 ++++++++++++++++++++++--
|
|
gcc/params.opt | 4 ++--
|
|
2 files changed, 24 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/gcc/ipa-prefetch.c b/gcc/ipa-prefetch.c
|
|
index 93483a6e8..d8bb9a251 100644
|
|
--- a/gcc/ipa-prefetch.c
|
|
+++ b/gcc/ipa-prefetch.c
|
|
@@ -167,6 +167,7 @@ analyse_cgraph ()
|
|
}
|
|
|
|
/* TODO: maybe remove loop info here. */
|
|
+ n->get_body ();
|
|
push_cfun (DECL_STRUCT_FUNCTION (n->decl));
|
|
calculate_dominance_info (CDI_DOMINATORS);
|
|
loop_optimizer_init (LOOPS_NORMAL);
|
|
@@ -1540,9 +1541,28 @@ optimize_function (cgraph_node *n, function *fn)
|
|
return 0;
|
|
}
|
|
else if (dump_file)
|
|
- fprintf (dump_file, "Dominator bb %d for MRs\n", dom_bb->index);
|
|
+ {
|
|
+ fprintf (dump_file, "Dominator bb %d for MRs:\n", dom_bb->index);
|
|
+ gimple_dump_bb (dump_file, dom_bb, 0, dump_flags);
|
|
+ fprintf (dump_file, "\n");
|
|
+ }
|
|
+
|
|
+ /* Try to find comp_mr's stmt in the dominator bb. */
|
|
+ gimple *last_used = NULL;
|
|
+ for (gimple_stmt_iterator si = gsi_last_bb (dom_bb); !gsi_end_p (si);
|
|
+ gsi_prev (&si))
|
|
+ if (comp_mr->stmts[0] == gsi_stmt (si))
|
|
+ {
|
|
+ last_used = gsi_stmt (si);
|
|
+ if (dump_file)
|
|
+ {
|
|
+ fprintf (dump_file, "Last used stmt in dominator bb:\n");
|
|
+ print_gimple_stmt (dump_file, last_used, 0);
|
|
+ }
|
|
+ break;
|
|
+ }
|
|
|
|
- split_block (dom_bb, (gimple *) NULL);
|
|
+ split_block (dom_bb, last_used);
|
|
gimple_stmt_iterator gsi = gsi_last_bb (dom_bb);
|
|
|
|
/* Create new inc var. Insert new_var = old_var + step * factor. */
|
|
diff --git a/gcc/params.opt b/gcc/params.opt
|
|
index ef7bea311..76ae925fd 100644
|
|
--- a/gcc/params.opt
|
|
+++ b/gcc/params.opt
|
|
@@ -251,8 +251,8 @@ Common Joined UInteger Var(param_ipa_prefetch_distance_factor) Init(4) Param Opt
|
|
The factor represents the number of inductive variable incrementations to evaluate an indirect memory address for IPA prefetch.
|
|
|
|
-param=ipa-prefetch-locality=
|
|
-Common Joined UInteger Var(param_ipa_prefetch_locality) Init(3) Param Optimization
|
|
-The flag represents temporal locality values in the following way: 0:pstl1strm, 1:pstl3keep, 2:pstl2keep, 3:pstl1keep.
|
|
+Common Joined UInteger Var(param_ipa_prefetch_locality) Init(3) IntegerRange(0, 3) Param Optimization
|
|
+The flag represents temporal locality value between 0 and 3, the higher value means the higher temporal locality in the data.
|
|
|
|
-param=ira-loop-reserved-regs=
|
|
Common Joined UInteger Var(param_ira_loop_reserved_regs) Init(2) Param Optimization
|
|
--
|
|
2.33.0
|
|
|