</Expand>\r
</Type>\r
\r
+ <!-- PointerIntPair. In addition to the regular view, it is possible to view just the pointer or just the int\r
+ The same code is duplicated from the regular viewer to improve the performance of the common case -->\r
<Type Name="llvm::PointerIntPair<*>">\r
+ <DisplayString IncludeView="ptr">{($T1)(Value & $T5::PointerBitMask)}</DisplayString>\r
+ <DisplayString IncludeView="int">{($T3)((Value >> $T5::IntShift) & $T5::IntMask)}</DisplayString>\r
<DisplayString>{$T5::IntMask}: {($T1)(Value & $T5::PointerBitMask)} [{($T3)((Value >> $T5::IntShift) & $T5::IntMask)}]</DisplayString>\r
<Expand>\r
<Item Name="[ptr]">($T1)(Value & $T5::PointerBitMask)</Item>\r
<Item Name="[int]">($T3)((Value >> $T5::IntShift) & $T5::IntMask)</Item>\r
</Expand>\r
</Type>\r
- <!-- PointerUnion types - In addition to the regular view, which displays the pointer, there is a "deref" view that\r
- displays the pointed to object, which is often needed by other visualizers -->\r
+ <!-- PointerUnion types -->\r
<Type Name="llvm::pointer_union_detail::PointerUnionMembers<*>">\r
- <DisplayString Optional="true" IncludeView="deref" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 0">\r
- {*($T4)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
- </DisplayString>\r
<DisplayString Optional="true" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 0">\r
{($T4)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
</DisplayString>\r
- <DisplayString Optional="true" IncludeView="deref" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 1">\r
- {*($T5)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
- </DisplayString>\r
<DisplayString Optional="true" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 1">\r
{($T5)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
</DisplayString>\r
- <DisplayString Optional="true" IncludeView="deref" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 2">\r
- {*($T6)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
- </DisplayString>\r
<DisplayString Optional="true" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 2">\r
{($T6)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
</DisplayString>\r
- <DisplayString Optional="true" IncludeView="deref" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 3">\r
- {*($T7)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
- </DisplayString>\r
<DisplayString Optional="true" Condition="((Val.Value>>$T2::InfoTy::IntShift) & $T2::InfoTy::IntMask) == 3">\r
{($T7)(Val.Value & $T2::InfoTy::PointerBitMask)}\r
</DisplayString>\r