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}] ($T1)(Value & PointerBitMask) (Value >> IntShift) & IntMask TODO - fix this case to avoid expression ambiguity [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} {(llvm::Value::ValueTy)SubclassID} HasName IsUsedByMD HasHungOffUses ((llvm::GlobalObject*)this)->Linkage ((llvm::GlobalObject*)this)->Visibility ((llvm::GlobalObject*)this)->Section ((llvm::GlobalVariable *)this)->isConstantGlobal ((llvm::GlobalVariable *)this)->isExternallyInitializedConstant {vmap.NumItems} items {(llvm::Type::TypeID)(IDAndSubclassData & 0xFF)} (llvm::Type::TypeID)(IDAndSubclassData & 0xFF) IDAndSubclassData >> 8 (IDAndSubclassData & 0xFFFFFF00) != 0 ((llvm::VectorType *)this)->NumElements NumContainedTys ContainedTys Arg: {Spelling} NumOptionInfos OptionInfos {Name} (#{ID}) {m_Name} : {m_pSemantic->m_Kind} ({m_Kind}) {m_pszName} {m_pszName} : {m_Kind}