diff --git a/utils/llvm.natvis b/utils/llvm.natvis new file mode 100644 index 00000000000..6b4ef83c67e --- /dev/null +++ b/utils/llvm.natvis @@ -0,0 +1,181 @@ + + + + + empty + {{ size={($T1*)EndX - ($T1*)BeginX} }} + + ($T1*)EndX - ($T1*)BeginX + ($T1*)CapacityX - ($T1*)BeginX + + ($T1*)EndX - ($T1*)BeginX + ($T1*)BeginX + + + + + + empty + [{($T1*)EndX - ($T1*)BeginX}] + + ($T1*)EndX - ($T1*)BeginX + ($T1*)CapacityX - ($T1*)BeginX + + ($T1*)EndX - ($T1*)BeginX + ($T1*)BeginX + + + + + + {BeginX,s} + BeginX,s + + (char*)EndX - (char*)BeginX + (char*)CapacityX - (char*)BeginX + + (char*)EndX - (char*)BeginX + (char*)BeginX + + + + + + [{Length}] {Data,s} + Data,s + + Length + + Length + Data + + + + + + {Value & PointerBitMask} [{(Value >> IntShift) & IntMask}] + + Value & PointerBitMask + (Value >> IntShift) & IntMask + + + + + [P1] {($T1)(Val.Value & Val.PointerBitMask)} + [P2] {($T2)(Val.Value & Val.PointerBitMask)} + + ($T1)(Val.Value & Val.PointerBitMask) + ($T2)(Val.Value & Val.PointerBitMask) + + + + + [P1] {($T1)((Val.Val.Value >> 2) << 2)} + [P2] {($T2)((Val.Val.Value >> 2) << 2)} + [P3] {($T3)((Val.Val.Value >> 2) << 2)} + + ($T1)((Val.Val.Value >> 2) << 2) + ($T2)((Val.Val.Value >> 2) << 2) + ($T3)((Val.Val.Value >> 2) << 2) + + + + + [P1] {($T1)((Val.Val.Value >> 2) << 2)} + [P2] {($T2)((Val.Val.Value >> 2) << 2)} + [P3] {($T3)((Val.Val.Value >> 2) << 2)} + [P4] {($T4)((Val.Val.Value >> 2) << 2)} + + ($T1)((Val.Val.Value >> 2) << 2) + ($T2)((Val.Val.Value >> 2) << 2) + ($T3)((Val.Val.Value >> 2) << 2) + ($T4)((Val.Val.Value >> 2) << 2) + + + + + {{ empty }} + {{ head={Head} }} + + + Head + Next + this + + + + + + empty + RefPtr [1 ref] {*Obj} + RefPtr [{Obj->ref_cnt} refs] {*Obj} + + Obj->ref_cnt + Obj + + + + + empty + OwningPtr {*Ptr} + + Ptr + + + + + {{ [Small Mode] elements={NumElements}, arraySize={CurArraySize} }} + {{ [Big Mode] elements={NumElements}, arraySize={CurArraySize} }} + + NumElements + CurArraySize + + CurArraySize + 1 + ($T1*)&CurArray[$i] + + + + + + empty + {{ entries={NumEntries}, buckets={NumBuckets} }} + + NumEntries + NumBuckets + + NumBuckets + Buckets + + + + + + {{ NumBuckets={NumBuckets}, ItemSize={ItemSize} }} + + NumBuckets + ItemSize + + NumBuckets + (llvm::StringMapEntry<$T1>*)TheTable[$i] + + + + + + empty + ({((llvm::StringMapEntry<$T1>*)this)+1,s}, {second}) + + ((llvm::StringMapEntry<$T1>*)this)+1,s + second + + + + + {Data} + +