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-augment-make-existential.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'source/slang/slang-ir-augment-make-existential.cpp') diff --git a/source/slang/slang-ir-augment-make-existential.cpp b/source/slang/slang-ir-augment-make-existential.cpp index a2038ea24..43b4ee51d 100644 --- a/source/slang/slang-ir-augment-make-existential.cpp +++ b/source/slang/slang-ir-augment-make-existential.cpp @@ -8,8 +8,14 @@ struct AugmentMakeExistentialContext { IRModule* module; - List workList; - HashSet workListSet; + InstWorkList workList; + InstHashSet workListSet; + + AugmentMakeExistentialContext(IRModule* inModule) + : module(inModule) + , workList(inModule) + , workListSet(inModule) + {} void addToWorkList(IRInst* inst) { @@ -70,8 +76,7 @@ struct AugmentMakeExistentialContext void augmentMakeExistentialInsts(IRModule* module) { - AugmentMakeExistentialContext context; - context.module = module; + AugmentMakeExistentialContext context(module); context.processModule(); } } // namespace Slang -- cgit v1.2.3