aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CommandFlags.cpp
diff options
context:
space:
mode:
authorAlexander Timofeev <alexander.timofeev@amd.com>2022-12-07 18:36:11 +0100
committerAlexander Timofeev <alexander.timofeev@amd.com>2023-01-05 21:10:56 +0100
commit6daa983c9dde7608bcaa20b11e4a7d28fab4e003 (patch)
tree50843c2f63be325720271523777aa26dad40e8e0 /llvm/lib/CodeGen/CommandFlags.cpp
parentef47a0a711f12add401394f7af07a0b4d1635b56 (diff)
downloadllvm-6daa983c9dde7608bcaa20b11e4a7d28fab4e003.zip
llvm-6daa983c9dde7608bcaa20b11e4a7d28fab4e003.tar.gz
llvm-6daa983c9dde7608bcaa20b11e4a7d28fab4e003.tar.bz2
[AMDGPU] MachineScheduler: schedule execution metric added for the UnclusteredHighRPStage
Since the divergence-driven ISel was fully enabled we have more VGPRs available. MachineScheduler trying to take advantage of that bumps up the occupancy sacrificing the hiding of memory access latency. This really spoils the initially good schedule. A new metric that reflects the latency hiding quality of the schedule has been created to make it to balance between occupancy and latency. The metric is based on the latency model which computes the bubble to working cycles ratio. Then we use this ratio to decide if the higher occupancy schedule is profitable as follows: Profit = NewOccupancy/OldOccupancy * OldMetric/NewMetric Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D139710
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
0 files changed, 0 insertions, 0 deletions