Mesa (master): aco: use unordered_set for spill id interferences

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 16 17:02:53 UTC 2020


Module: Mesa
Branch: master
Commit: 2c7554fe01257c371231eb8dc8c642cde4742955
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c7554fe01257c371231eb8dc8c642cde4742955

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Tue Jul  7 13:11:07 2020 +0100

aco: use unordered_set for spill id interferences

Seems to be faster.

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5805>

---

 src/amd/compiler/aco_spill.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/compiler/aco_spill.cpp b/src/amd/compiler/aco_spill.cpp
index faba524b76d..f1199cc3ae2 100644
--- a/src/amd/compiler/aco_spill.cpp
+++ b/src/amd/compiler/aco_spill.cpp
@@ -56,7 +56,7 @@ struct spill_ctx {
    std::stack<Block*> loop_header;
    std::vector<std::map<Temp, std::pair<uint32_t, uint32_t>>> next_use_distances_start;
    std::vector<std::map<Temp, std::pair<uint32_t, uint32_t>>> next_use_distances_end;
-   std::vector<std::pair<RegClass, std::set<uint32_t>>> interferences;
+   std::vector<std::pair<RegClass, std::unordered_set<uint32_t>>> interferences;
    std::vector<std::vector<uint32_t>> affinities;
    std::vector<bool> is_reloaded;
    std::map<Temp, remat_info> remat;
@@ -100,7 +100,7 @@ struct spill_ctx {
 
    uint32_t allocate_spill_id(RegClass rc)
    {
-      interferences.emplace_back(rc, std::set<uint32_t>());
+      interferences.emplace_back(rc, std::unordered_set<uint32_t>());
       is_reloaded.push_back(false);
       return next_spill_id++;
    }



More information about the mesa-commit mailing list