diff --git a/llvm/utils/LLVMVisualizers/llvm.natvis b/llvm/utils/LLVMVisualizers/llvm.natvis
--- a/llvm/utils/LLVMVisualizers/llvm.natvis
+++ b/llvm/utils/LLVMVisualizers/llvm.natvis
@@ -37,8 +37,8 @@
Cannot visualize APInts longer than 64 bits
- empty
- {{ size={Length} }}
+ {Data,[Length]}
+ {Length} elements
- Length
@@ -48,7 +48,7 @@
- {(const char*)BeginX,[Size] na}
+ {(const char*)BeginX,[Size]s8}
(const char*)BeginX,[Size]
- Size
@@ -61,12 +61,12 @@
- {First,[Last - First]s}
+ {First,[Last - First]s8}
- {Data,[Length]s}
- Data,[Length]s
+ {Data,[Length]s8}
+ Data,[Length]s8
- Length
@@ -184,7 +184,7 @@
empty
- ({this+1,s}, {second})
+ ({this+1,s8}, {second})
- this+1,s
- second
@@ -304,4 +304,111 @@
- Context
+
+
+ $(Type) {*Value}
+
+
+
+ $(Type) {getOperationName(nullptr)}
+
+
+ NumOperands
+ OperandList
+
+
+
+
+
+ i{Val.BitWidth} {Val.VAL}
+
+
+
+ {IDAndSubclassData >> 8}bit integer type
+
+
+
+ $(Type) {*VTy} {this->getName()} {SubclassData}
+ $(Type) {*VTy} anon {SubclassData}
+
+ - (Instruction*)this
+ - (User*)this
+
+ UseList
+ Next
+ Prev.Value & 3 == 3 ? (User*)(this + 1) : (User*)(this + 2)
+
+
+
+
+
+
+ - Val
+
+
+
+
+
+
+ $(Type) {*VTy} {this->getName()} {SubclassData}
+ $(Type) {*VTy} anon {SubclassData}
+
+ - (Value*)this,nd
+ - *VTy
+
+ NumUserOperands
+ (llvm::Use*)this - NumUserOperands
+
+
+ NumUserOperands
+ *((llvm::Use**)this - 1)
+
+
+
+
+
+ {getOpcodeName(SubclassID - InstructionVal)}
+
+ - (User*)this,nd
+
+
+
+
+ APInt{BitWidth}({U.VAL})
+
+
+
+ {this->getName()} {(LinkageTypes)Linkage} {(VisibilityTypes)Visibility} {(DLLStorageClassTypes)DllStorageClass} {(llvm::GlobalValue::ThreadLocalMode) ThreadLocal}
+
+
+
+
+
+
+ this
+ Next
+ this
+
+
+
+
+
+
+ pImpl
+
+
+
+
+ {ModuleID,s8} {TargetTriple}
+
+
+
+ $(Type) {PassID} {Kind}
+