From 9043bc5522cc86560ac5d57ddfc6cfa7612c9222 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 1 May 2024 17:30:55 -0700 Subject: Fix compile failures when using debug symbol. (#4069) * Fix compile failures when using debug symbol. * Various fixes. * Fix intrinsic. * Fix test. --- source/slang/slang-ir-util.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-ir-util.cpp') diff --git a/source/slang/slang-ir-util.cpp b/source/slang/slang-ir-util.cpp index bcb9439fb..1fccf3e27 100644 --- a/source/slang/slang-ir-util.cpp +++ b/source/slang/slang-ir-util.cpp @@ -652,7 +652,7 @@ IRInst* getRootAddr(IRInst* addr) return addr; } -IRInst* getRootAddr(IRInst* addr, List& outAccessChain) +IRInst* getRootAddr(IRInst* addr, List& outAccessChain, List* outTypes) { for (;;) { @@ -661,6 +661,8 @@ IRInst* getRootAddr(IRInst* addr, List& outAccessChain) case kIROp_GetElementPtr: case kIROp_FieldAddress: outAccessChain.add(addr->getOperand(1)); + if (outTypes) + outTypes->add(addr->getFullType()); addr = addr->getOperand(0); continue; default: @@ -669,6 +671,8 @@ IRInst* getRootAddr(IRInst* addr, List& outAccessChain) break; } outAccessChain.reverse(); + if (outTypes) + outTypes->reverse(); return addr; } -- cgit v1.2.3