19 Commits

Author SHA1 Message Date
Mike Spertus
40cf40220c Clean up MSVC visualization of LLVM pointer types
Create separate natvis ptr and int views for PointerIntPair.
These are convenient in watch Windows and will be used by 
Clang visualizers to be checked in shortly

Also, removed deref views as the MSVC na format has
done the same thing natively since MSVC2013.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364723 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-30 21:54:34 +00:00
Mike Spertus
f84ae548d7 Visualizer for APInt and remove obsolete visualizer
Visualizer for the simple case of APInt (uints < 2^64)
as will be required  for Clang ConstantArrayType visualizer.
Also, removed obsolete VS2013 SmallVectorVisualizer as VS2013
is no longer supported.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362860 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-08 00:23:08 +00:00
Mike Spertus
931b9ff7ee Update MSVC Visualizer to reflect new variadic PointerUnion
This changed updates the MSVC Visualizer to work with the recent change
of PointerUnion into a variadic template. As an extra bonus, we
fix some bit rot in the SmallPtrSet visualizer as well



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362345 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-02 23:33:32 +00:00
Aaron Ballman
e9630c4986 Fix visualization of intrusive reference counted objects in MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350748 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-09 18:59:56 +00:00
Mike Spertus
b1b3e118f1 Enhance MSVC visualization of PointerUnions
Add a "deref" view that displays the pointed to objects since
other visualizers often need to display data reference by internal
PointerUnions



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350469 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-05 16:59:27 +00:00
Mike Spertus
8a13966ffb Fix MSVC visualizer for PointerUnion4
Calculate which item is being held and then display it with the appropriate type. We also 
optimize the display of PointerUnion3 to take advantage of our knowing that the IntMask is
always 1 in PointerUnion types



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350280 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-03 00:52:54 +00:00
Mike Spertus
ff6355c120 MSVC Visualizer for PointerUnion3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350275 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-02 23:46:59 +00:00
Mike Spertus
09f6d28207 Fix MSVC PointerUnion visualizer
Differential Revision: https://reviews.llvm.org/D56186



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350250 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-02 19:26:50 +00:00
Zachary Turner
00d521d2a0 Fix Visual Studio PointerIntPair visualizer
Patch by: Trass3r

Differential Revision: https://reviews.llvm.org/D55252

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@349172 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-14 18:20:21 +00:00
Daniil Fukalov
62f717097f Fix typo in the MSVC Visualizer for SmallVector class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@339029 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-06 16:47:24 +00:00
Zachary Turner
52b10b8b07 Add VS natvis support for LLVMDemangle's StringView.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338202 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-28 17:25:42 +00:00
Zachary Turner
0754d77d6a Fix the MSVC Visualizers for SmallVector classes.
Recent changes to the internal structure of SmallVector<> broke
all of the MSVC visualizers.  This fixes them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337644 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-21 15:38:47 +00:00
Zachary Turner
a924a78e8a 2 VS natvis improvements.
Optional<T> was broken due to a change in the class's internals.
That is fixed, and additionally a visualizer is added for
Expected<T>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335892 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-28 17:55:54 +00:00
Antonio Maiorano
a7e8ae4b08 Improve natvis for llvm::SmallString so that it correctly displays only the valid portion of the string
The usual method, and the one employed before my change, of displaying strings in natvis is to make use of the "<variable>,s" format specifier; however, this method only works for null-terminated strings. My fix here is to use the "<pointer>,[size]" format specifier to display a bounded array, and then cast it to "const char*", which in the MSVC debugger has the desired effect of rendering the character array as a string.

Differential Revision: https://reviews.llvm.org/D27972

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290224 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-21 01:05:29 +00:00
Mike Spertus
2a6b57b9f7 Improved Visual Studio 2015 visualization of SmallVectorImpl
When visualizing small vectors in VS2015, show the first few elements in the DisplayString instead of the size. For example, a SmallVector of DeclAccessPair will visualize like

  {public typename ...Ts, public typename U}

The visualization in VS2013 remains the same because we continue to include the old visualizer with a lower-than-default priority of MediumLow, and the same SmallVector would continue to be visualized as

  {size = 2}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272525 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-13 01:43:14 +00:00
Mike Spertus
0b28fbb3a5 Add Visual Studio Visualizer for ArrayRef
Modeled after visualization of llvm::SmallVec


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271847 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-05 18:34:02 +00:00
Zachary Turner
6efffd31d2 Add natvis visualizers for endian types.
This allows ulittle* and ubig* types to be visualized properly
in VS.

Differential Revision: http://reviews.llvm.org/D19339
Reviewed By: Aaron Ballman

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267050 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-21 20:58:41 +00:00
Mike Spertus
2a8d48af30 Submitted new file with wrong line endings. Correcting...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264620 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-28 19:06:17 +00:00
Mike Spertus
b2c8f180f9 Use VS2015 Project Support for Natvis to eliminate the need to manually install natvis files
When using Visual Studio 2015, cmake now puts the native visualizers in llvm.sln, so the developer automatically sees custom visualizations.
Much thanks to ariccio who provided extensive help on this change. (manual installation still needed on VS2013)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264601 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-28 17:58:38 +00:00