From f3aba255f6d69ddbf255b33d0eb0f391908e60a8 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 12 Jul 2023 19:55:41 -0700 Subject: Pool inst worklists and hashsets to avoid rehashing. (#2982) Co-authored-by: Yong He --- source/slang/slang-ir-deduplicate.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/slang/slang-ir-deduplicate.cpp') diff --git a/source/slang/slang-ir-deduplicate.cpp b/source/slang/slang-ir-deduplicate.cpp index 8db57b3f3..4579ae42b 100644 --- a/source/slang/slang-ir-deduplicate.cpp +++ b/source/slang/slang-ir-deduplicate.cpp @@ -13,8 +13,8 @@ namespace Slang void IRDeduplicationContext::removeHoistableInstFromGlobalNumberingMap(IRInst* instToRemove) { - HashSet userWorkListSet; - List userWorkList; + InstHashSet userWorkListSet(instToRemove->getModule()); + InstWorkList userWorkList(instToRemove->getModule()); auto addToWorkList = [&](IRInst* i) { if (userWorkListSet.add(i)) @@ -37,8 +37,8 @@ namespace Slang void IRDeduplicationContext::tryHoistInst(IRInst* inst) { - List workList; - HashSet workListSet; + InstWorkList workList(inst->getModule()); + InstHashSet workListSet(inst->getModule()); workList.add(inst); workListSet.add(inst); IRBuilder builder(inst->getModule()); -- cgit v1.2.3