diff options
| author | Yong He <yonghe@outlook.com> | 2024-05-01 17:30:55 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-01 17:30:55 -0700 |
| commit | 9043bc5522cc86560ac5d57ddfc6cfa7612c9222 (patch) | |
| tree | 9804bb8a682386b9f761e8fb164cb43ad5390411 /source/slang/slang-ir-util.cpp | |
| parent | 0bb826f8b92aec330875d0b966c1f4a6b99988bf (diff) | |
Fix compile failures when using debug symbol. (#4069)
* Fix compile failures when using debug symbol.
* Various fixes.
* Fix intrinsic.
* Fix test.
Diffstat (limited to 'source/slang/slang-ir-util.cpp')
| -rw-r--r-- | source/slang/slang-ir-util.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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<IRInst*>& outAccessChain) +IRInst* getRootAddr(IRInst* addr, List<IRInst*>& outAccessChain, List<IRInst*>* outTypes) { for (;;) { @@ -661,6 +661,8 @@ IRInst* getRootAddr(IRInst* addr, List<IRInst*>& 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<IRInst*>& outAccessChain) break; } outAccessChain.reverse(); + if (outTypes) + outTypes->reverse(); return addr; } |
