@@ -462,10 +462,6 @@ class SIGfx90ACacheControl : public SIGfx7CacheControl {
462462 SIAtomicScope Scope,
463463 SIAtomicAddrSpace AddrSpace) const override ;
464464
465- bool enableStoreCacheBypass (const MachineBasicBlock::iterator &MI,
466- SIAtomicScope Scope,
467- SIAtomicAddrSpace AddrSpace) const override ;
468-
469465 bool enableRMWCacheBypass (const MachineBasicBlock::iterator &MI,
470466 SIAtomicScope Scope,
471467 SIAtomicAddrSpace AddrSpace) const override ;
@@ -1375,41 +1371,6 @@ bool SIGfx90ACacheControl::enableLoadCacheBypass(
13751371 return Changed;
13761372}
13771373
1378- bool SIGfx90ACacheControl::enableStoreCacheBypass (
1379- const MachineBasicBlock::iterator &MI,
1380- SIAtomicScope Scope,
1381- SIAtomicAddrSpace AddrSpace) const {
1382- assert (!MI->mayLoad () && MI->mayStore ());
1383- bool Changed = false ;
1384-
1385- if ((AddrSpace & SIAtomicAddrSpace::GLOBAL) != SIAtomicAddrSpace::NONE) {
1386- switch (Scope) {
1387- case SIAtomicScope::SYSTEM:
1388- case SIAtomicScope::AGENT:
1389- // / Do not set glc for store atomic operations as they implicitly write
1390- // / through the L1 cache.
1391- break ;
1392- case SIAtomicScope::WORKGROUP:
1393- case SIAtomicScope::WAVEFRONT:
1394- case SIAtomicScope::SINGLETHREAD:
1395- // No cache to bypass. Store atomics implicitly write through the L1
1396- // cache.
1397- break ;
1398- default :
1399- llvm_unreachable (" Unsupported synchronization scope" );
1400- }
1401- }
1402-
1403- // / The scratch address space does not need the global memory caches
1404- // / to be bypassed as all memory operations by the same thread are
1405- // / sequentially consistent, and no other thread can access scratch
1406- // / memory.
1407-
1408- // / Other address spaces do not have a cache.
1409-
1410- return Changed;
1411- }
1412-
14131374bool SIGfx90ACacheControl::enableRMWCacheBypass (
14141375 const MachineBasicBlock::iterator &MI,
14151376 SIAtomicScope Scope,
0 commit comments