summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-01-21 18:05:53 -0800
committerGitHub <noreply@github.com>2021-01-21 18:05:53 -0800
commitdc063e58ec0d937465566edeea70b112e4d3e72c (patch)
treeeb85e47eadd249c353374bcd28762a92cd1d218f
parent3fc90d47290298e14b49f131e31726270e882499 (diff)
Make natvis to discover and display IRInst names more directly (#1670)
Co-authored-by: Yong He <yhe@nvidia.com>
-rw-r--r--source/slang/slang.natvis18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/slang/slang.natvis b/source/slang/slang.natvis
index 0bf32c5e7..f7b50437e 100644
--- a/source/slang/slang.natvis
+++ b/source/slang/slang.natvis
@@ -76,6 +76,24 @@
<Expand>
<Item Name="[op]">op</Item>
<Item Name="[type]">typeUse.usedValue</Item>
+ <CustomListItems MaxItemsPerView="3">
+ <Variable Name="child" InitialValue="m_decorationsAndChildren.first"/>
+ <Loop>
+ <If Condition="child == 0">
+ <Break/>
+ </If>
+ <If Condition="child->op == Slang::kIROp_NameHintDecoration">
+ <Item Name="[name]">((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8</Item>
+ </If>
+ <If Condition="child->op == Slang::kIROp_ExportDecoration">
+ <Item Name="[exportName]">((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8</Item>
+ </If>
+ <If Condition="child->op == Slang::kIROp_ImportDecoration">
+ <Item Name="[importName]">((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.chars,[((Slang::IRStringLit*)(((Slang::IRUse*)(child + 1))->usedValue))->value.stringVal.numChars]s8</Item>
+ </If>
+ <Exec>child = child->next</Exec>
+ </Loop>
+ </CustomListItems>
<Item Name="[value]" Condition="op == Slang::kIROp_StringLit">((IRStringLit*)this)->value.stringVal.chars,[((IRStringLit*)this)->value.stringVal.numChars]s8</Item>
<Item Name="[value]" Condition="op == Slang::kIROp_IntLit">((IRIntLit*)this)->value.intVal</Item>
<Synthetic Name="[operands]">