]> granicus.if.org Git - llvm/commit
AMDGPU: Use set for tracked registers
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 31 Aug 2017 01:53:09 +0000 (01:53 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 31 Aug 2017 01:53:09 +0000 (01:53 +0000)
commite02cff12248d0011ff5685be6b51ed9d0d5b8912
treec7083fa8ee05c1028f383dd339b7503f38f0906c
parentb5924ab73bcb8072a380470800e0499715f04d0f
AMDGPU: Use set for tracked registers

The majority of the time spent in the pass checking
for the register reads. Rather than searching all of
the defined registers for uses in each instruction,
use a set of defined registers and check the operands
of the instruction.

This process still is algorithmically not great,
but with the additional trick of skipping the analysis
for addresses with one use, this brings one slow
testcase into a reasonable range.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312206 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SILoadStoreOptimizer.cpp