From f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Tue, 29 Oct 2024 14:49:26 +0800 Subject: format * format * Minor test fixes * enable checking cpp format in ci --- source/slang/slang-ir-deduplicate.cpp | 110 +++++++++++++++++----------------- 1 file changed, 55 insertions(+), 55 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 4579ae42b..8a4bc1910 100644 --- a/source/slang/slang-ir-deduplicate.cpp +++ b/source/slang/slang-ir-deduplicate.cpp @@ -2,80 +2,80 @@ namespace Slang { - void IRDeduplicationContext::init(IRModule* module) - { - m_module = module; - m_session = module->getSession(); +void IRDeduplicationContext::init(IRModule* module) +{ + m_module = module; + m_session = module->getSession(); - m_globalValueNumberingMap.clear(); - m_constantMap.clear(); - } + m_globalValueNumberingMap.clear(); + m_constantMap.clear(); +} - void IRDeduplicationContext::removeHoistableInstFromGlobalNumberingMap(IRInst* instToRemove) +void IRDeduplicationContext::removeHoistableInstFromGlobalNumberingMap(IRInst* instToRemove) +{ + InstHashSet userWorkListSet(instToRemove->getModule()); + InstWorkList userWorkList(instToRemove->getModule()); + auto addToWorkList = [&](IRInst* i) { - InstHashSet userWorkListSet(instToRemove->getModule()); - InstWorkList userWorkList(instToRemove->getModule()); - auto addToWorkList = [&](IRInst* i) - { - if (userWorkListSet.add(i)) - userWorkList.add(i); - }; - addToWorkList(instToRemove); - for (Index i = 0; i < userWorkList.getCount(); i++) + if (userWorkListSet.add(i)) + userWorkList.add(i); + }; + addToWorkList(instToRemove); + for (Index i = 0; i < userWorkList.getCount(); i++) + { + auto inst = userWorkList[i]; + if (getIROpInfo(inst->getOp()).isHoistable()) { - auto inst = userWorkList[i]; - if (getIROpInfo(inst->getOp()).isHoistable()) + _removeGlobalNumberingEntry(inst); + for (auto use = inst->firstUse; use; use = use->nextUse) { - _removeGlobalNumberingEntry(inst); - for (auto use = inst->firstUse; use; use = use->nextUse) - { - addToWorkList(use->getUser()); - } + addToWorkList(use->getUser()); } } } +} - void IRDeduplicationContext::tryHoistInst(IRInst* inst) +void IRDeduplicationContext::tryHoistInst(IRInst* inst) +{ + InstWorkList workList(inst->getModule()); + InstHashSet workListSet(inst->getModule()); + workList.add(inst); + workListSet.add(inst); + IRBuilder builder(inst->getModule()); + + for (Index i = 0; i < workList.getCount(); i++) { - InstWorkList workList(inst->getModule()); - InstHashSet workListSet(inst->getModule()); - workList.add(inst); - workListSet.add(inst); - IRBuilder builder(inst->getModule()); + auto item = workList[i]; - for (Index i = 0; i < workList.getCount(); i++) + // Does inst no longer depend on anything defined locally? + // If so we should hoist it. + bool shouldHoist = false; + for (UInt a = 0; a < item->getOperandCount(); a++) { - auto item = workList[i]; - - // Does inst no longer depend on anything defined locally? - // If so we should hoist it. - bool shouldHoist = false; - for (UInt a = 0; a < item->getOperandCount(); a++) + auto opParent = item->getOperand(a)->getParent(); + if (opParent != item->getParent()) { - auto opParent = item->getOperand(a)->getParent(); - if (opParent != item->getParent()) - { - shouldHoist = true; - break; - } + shouldHoist = true; + break; } + } - // Hoisting this inst - if (shouldHoist) - { - item->removeFromParent(); - addHoistableInst(&builder, item); + // Hoisting this inst + if (shouldHoist) + { + item->removeFromParent(); + addHoistableInst(&builder, item); - // Continue to consider all users for hoisting. - for (auto use = item->firstUse; use; use = use->nextUse) + // Continue to consider all users for hoisting. + for (auto use = item->firstUse; use; use = use->nextUse) + { + if (getIROpInfo(use->getUser()->getOp()).isHoistable()) { - if (getIROpInfo(use->getUser()->getOp()).isHoistable()) - { - if (workListSet.add(use->getUser())) - workList.add(use->getUser()); - } + if (workListSet.add(use->getUser())) + workList.add(use->getUser()); } } } } } +} // namespace Slang -- cgit v1.2.3