@@ -177,6 +177,7 @@ XSCompositePrefetcher::calculatePrefetch(const PrefetchInfo &pfi, std::vector<Ad
177177 }
178178
179179
180+ Addr stride_pf_addr = 0 ;
180181 if (pf_source != PrefetchSourceType::SStream && !is_active_page) {
181182 bool use_bop = enableBOP && ((pfi.isPfFirstHit () && (pf_source == PrefetchSourceType::HWP_BOP ||
182183 pf_source == PrefetchSourceType::IPCP_CPLX ||
@@ -192,7 +193,6 @@ XSCompositePrefetcher::calculatePrefetch(const PrefetchInfo &pfi, std::vector<Ad
192193 stats.bopTrainCount ++;
193194 }
194195
195- Addr stride_pf_addr = 0 ;
196196 bool covered_by_stride = false ;
197197 // NOTICE:don't open berti & stride at the same time
198198 assert (!(enableBerti && enableSstride));
@@ -211,16 +211,6 @@ XSCompositePrefetcher::calculatePrefetch(const PrefetchInfo &pfi, std::vector<Ad
211211 }
212212 }
213213
214- bool use_stride = !pfi.isStore () && (pfi.isCacheMiss () || pfi.isPfFirstHit ()) && enableSstride;
215- if (use_stride){
216- DPRINTF (XSCompositePrefetcher, " Do Sstride traing/prefetching...\n " );
217- int64_t learned_bop_offset = 0 ;
218- Sstride->calculatePrefetch (pfi, addresses, late, pf_source, miss_repeat, enter_new_region, is_first_shot,
219- stride_pf_addr, learned_bop_offset);
220- if (learned_bop_offset != 0 )
221- learnedBOP->tryAddOffset (learned_bop_offset);
222- }
223-
224214 bool use_pht = pfi.isCacheMiss () ||
225215 (pfi.isPfFirstHit () &&
226216 (pf_source == PrefetchSourceType::SStride || pf_source == PrefetchSourceType::HWP_BOP ||
@@ -267,6 +257,17 @@ XSCompositePrefetcher::calculatePrefetch(const PrefetchInfo &pfi, std::vector<Ad
267257 }
268258 }
269259 }
260+
261+ bool use_stride = !pfi.isStore () && (pfi.isCacheMiss () || pfi.isPfFirstHit ()) && enableSstride;
262+ if (use_stride){
263+ DPRINTF (XSCompositePrefetcher, " Do Sstride traing/prefetching...\n " );
264+ int64_t learned_bop_offset = 0 ;
265+ Sstride->calculatePrefetch (pfi, addresses, late, pf_source, miss_repeat, enter_new_region, is_first_shot,
266+ stride_pf_addr, learned_bop_offset);
267+ if (learned_bop_offset != 0 )
268+ learnedBOP->tryAddOffset (learned_bop_offset);
269+ }
270+
270271}
271272
272273XSCompositePrefetcher::ACTEntry *
0 commit comments