[llvm] r350275 - MSVC Visualizer for PointerUnion3

Mike Spertus via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 2 15:47:00 PST 2019


Author: mps
Date: Wed Jan  2 15:46:59 2019
New Revision: 350275

URL: http://llvm.org/viewvc/llvm-project?rev=350275&view=rev
Log:
MSVC Visualizer for PointerUnion3

Modified:
    llvm/trunk/utils/LLVMVisualizers/llvm.natvis

Modified: llvm/trunk/utils/LLVMVisualizers/llvm.natvis
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/LLVMVisualizers/llvm.natvis?rev=350275&r1=350274&r2=350275&view=diff
==============================================================================
--- llvm/trunk/utils/LLVMVisualizers/llvm.natvis (original)
+++ llvm/trunk/utils/LLVMVisualizers/llvm.natvis Wed Jan  2 15:46:59 2019
@@ -105,13 +105,12 @@ For later versions of Visual Studio, no
   </Type>
 
   <Type Name="llvm::PointerUnion3<*,*,*>">
-    <DisplayString Condition="(Val.Val.Value & 2) != 2 && (Val.Val.Value & 1) != 1">{"$T1", s8b}: {($T1)((Val.Val.Value >> 2) << 2)}</DisplayString>
-    <DisplayString Condition="(Val.Val.Value & 2) == 2">{"$T2", s8b}: {($T2)((Val.Val.Value >> 2) << 2)}</DisplayString>
-    <DisplayString Condition="(Val.Val.Value & 1) == 1">{"$T3", s8b}: {($T3)((Val.Val.Value >> 2) << 2)}</DisplayString>
+    <DisplayString Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">{"$T3", s8b}: {($T3)(Val.Val.Value & ValTy::ValTy::InfoTy::PointerBitMask)}</DisplayString>
+    <DisplayString>{*(InnerUnion*)&Val.Val.Value}</DisplayString>
     <Expand>
-      <ExpandedItem Condition="(Val.Val.Value & 2) != 2 && (Val.Val.Value & 1) != 1">($T1)((Val.Val.Value >> 2) << 2)</ExpandedItem>
-      <ExpandedItem Condition="(Val.Val.Value & 2) == 2">($T2)((Val.Val.Value >> 2) << 2)</ExpandedItem>
-      <ExpandedItem Condition="(Val.Val.Value & 1) == 1">($T3)((Val.Val.Value >> 2) << 2)</ExpandedItem>
+      <Item Name="[Holds]" Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">"$T3", s8b</Item>
+      <Item Name="[Ptr]" Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">($T3)(Val.Val.Value & ValTy::ValTy::InfoTy::PointerBitMask)</Item>
+      <ExpandedItem Condition="!((Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask)">*(InnerUnion*)&Val.Val.Value</ExpandedItem>
     </Expand>
   </Type>
 




More information about the llvm-commits mailing list