LLVM 22.0.0git
AArch64FalkorHWPFFix.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "aarch64-falkor-hwpf-fix"

Functions

 STATISTIC (NumStridedLoadsMarked, "Number of strided loads marked")
 STATISTIC (NumCollisionsAvoided, "Number of HW prefetch tag collisions avoided")
 STATISTIC (NumCollisionsNotAvoided, "Number of HW prefetch tag collisions not avoided due to lack of registers")
 DEBUG_COUNTER (FixCounter, "falkor-hwpf", "Controls which tag collisions are avoided")
 INITIALIZE_PASS_BEGIN (FalkorMarkStridedAccessesLegacy, DEBUG_TYPE, "Falkor HW Prefetch Fix", false, false) INITIALIZE_PASS_END(FalkorMarkStridedAccessesLegacy
 INITIALIZE_PASS_BEGIN (FalkorHWPFFix, "aarch64-falkor-hwpf-fix-late", "Falkor HW Prefetch Fix Late Phase", false, false) INITIALIZE_PASS_END(FalkorHWPFFix
aarch64 falkor hwpf fix Falkor HW Prefetch Fix Late static false unsigned makeTag (unsigned Dest, unsigned Base, unsigned Offset)
static std::optional< LoadInfo > getLoadInfo (const MachineInstr &MI)
static std::optional< unsignedgetTag (const TargetRegisterInfo *TRI, const MachineInstr &MI, const LoadInfo &LI)

Variables

 DEBUG_TYPE
Falkor HW Prefetch Fix
Falkor HW Prefetch false
aarch64 falkor hwpf fix late
aarch64 falkor hwpf fix Falkor HW Prefetch Fix Late Phase

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aarch64-falkor-hwpf-fix"

Definition at line 54 of file AArch64FalkorHWPFFix.cpp.

Function Documentation

◆ DEBUG_COUNTER()

DEBUG_COUNTER ( FixCounter ,
"falkor-hwpf" ,
"Controls which tag collisions are avoided"  )

◆ getLoadInfo()

std::optional< LoadInfo > getLoadInfo ( const MachineInstr & MI)
static

Definition at line 228 of file AArch64FalkorHWPFFix.cpp.

References MI, and Register.

◆ getTag()

◆ INITIALIZE_PASS_BEGIN() [1/2]

INITIALIZE_PASS_BEGIN ( FalkorHWPFFix ,
"aarch64-falkor-hwpf-fix-late" ,
"Falkor HW Prefetch Fix Late Phase" ,
false ,
false  )

◆ INITIALIZE_PASS_BEGIN() [2/2]

INITIALIZE_PASS_BEGIN ( FalkorMarkStridedAccessesLegacy ,
DEBUG_TYPE ,
"Falkor HW Prefetch Fix" ,
false ,
false  )

◆ makeTag()

aarch64 falkor hwpf fix Falkor HW Prefetch Fix Late static false unsigned makeTag ( unsigned Dest,
unsigned Base,
unsigned Offset )
static

Definition at line 224 of file AArch64FalkorHWPFFix.cpp.

References llvm::sampleprof::Base, makeTag(), and llvm::Offset.

Referenced by getTag(), and makeTag().

◆ STATISTIC() [1/3]

STATISTIC ( NumCollisionsAvoided ,
"Number of HW prefetch tag collisions avoided"  )

◆ STATISTIC() [2/3]

STATISTIC ( NumCollisionsNotAvoided ,
"Number of HW prefetch tag collisions not avoided due to lack of registers"  )

◆ STATISTIC() [3/3]

STATISTIC ( NumStridedLoadsMarked ,
"Number of strided loads marked"  )

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 107 of file AArch64FalkorHWPFFix.cpp.

◆ false

aarch64 falkor hwpf fix Falkor HW Prefetch Fix Late false

Definition at line 108 of file AArch64FalkorHWPFFix.cpp.

◆ Fix

Falkor HW Prefetch Fix

Definition at line 108 of file AArch64FalkorHWPFFix.cpp.

◆ late

aarch64 falkor hwpf fix late

Definition at line 221 of file AArch64FalkorHWPFFix.cpp.

◆ Phase