</Type>\r
\r
<Type Name="llvm::PointerUnion3<*,*,*>">\r
- <DisplayString Condition="(Val.Val.Value & 2) != 2 && (Val.Val.Value & 1) != 1">{"$T1", s8b}: {($T1)((Val.Val.Value >> 2) << 2)}</DisplayString>\r
- <DisplayString Condition="(Val.Val.Value & 2) == 2">{"$T2", s8b}: {($T2)((Val.Val.Value >> 2) << 2)}</DisplayString>\r
- <DisplayString Condition="(Val.Val.Value & 1) == 1">{"$T3", s8b}: {($T3)((Val.Val.Value >> 2) << 2)}</DisplayString>\r
+ <DisplayString Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">{"$T3", s8b}: {($T3)(Val.Val.Value & ValTy::ValTy::InfoTy::PointerBitMask)}</DisplayString>\r
+ <DisplayString>{*(InnerUnion*)&Val.Val.Value}</DisplayString>\r
<Expand>\r
- <ExpandedItem Condition="(Val.Val.Value & 2) != 2 && (Val.Val.Value & 1) != 1">($T1)((Val.Val.Value >> 2) << 2)</ExpandedItem>\r
- <ExpandedItem Condition="(Val.Val.Value & 2) == 2">($T2)((Val.Val.Value >> 2) << 2)</ExpandedItem>\r
- <ExpandedItem Condition="(Val.Val.Value & 1) == 1">($T3)((Val.Val.Value >> 2) << 2)</ExpandedItem>\r
+ <Item Name="[Holds]" Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">"$T3", s8b</Item>\r
+ <Item Name="[Ptr]" Condition="(Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask">($T3)(Val.Val.Value & ValTy::ValTy::InfoTy::PointerBitMask)</Item>\r
+ <ExpandedItem Condition="!((Val.Val.Value >> ValTy::ValTy::InfoTy::IntShift) & ValTy::ValTy::InfoTy::IntMask)">*(InnerUnion*)&Val.Val.Value</ExpandedItem>\r
</Expand>\r
</Type>\r
\r