12 Commits

Author SHA1 Message Date
Zachary Turner
e98c913509 [llvm-pdbdump] Display padding bytes on record layout
When dumping classes, show where padding occurs, and at the end of the
class print statistics about how many bytes total of padding exist in a
class.

Since PDB doesn't specifically contain information about padding, we have
to mimic this by sort of reversing a small portion of the record layout
algorithm (e.g. looking at offsets and sizes and trying to determine
whether something is part of the same field or a new field).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299869 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-10 19:33:29 +00:00
Adrian McCarthy
ebe3d55fad llvm-pdbdump: If we don't change the color, don't reset the color.
The -output-color option was successful at suppressing color changes, but
was still allowing color resets.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299006 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-29 17:11:27 +00:00
Adrian McCarthy
99f73dd7b8 Add option to control whether llvm-pdbdump outputs in color
Adds -color-output option to llvm-pdbdump pretty commands that lets the user
specify whether the output should have color. The default depends on whether
the output is going to a TTY (per prior discussion in
https://reviews.llvm.org/D31246).

This will enable tests that pipe llvm-pdbdump output to FileCheck to work
across platforms without regard to the differences in ANSI codes.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298610 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-23 15:28:15 +00:00
Zachary Turner
3a4681d580 Update llvm-pdbdump to use subcommands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274247 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30 17:42:48 +00:00
Zachary Turner
c95df94d5d Move pdb code into pdb namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268544 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04 20:32:13 +00:00
Sanjoy Das
b1ce35cdfb Introduce a range version of std::any_of, and use it in SCEV
Reviewers: dblaikie, pcc

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D15063

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254390 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-01 07:49:23 +00:00
Rui Ueyama
55861d07e0 llvm-pdbdump: Simplify. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251873 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-03 01:04:44 +00:00
Zachary Turner
c9736fba4b [llvm-pdbdump] Add include-only filters.
PDB files have a lot of noise in them, with hundreds (or thousands)
of symbols from system libraries and compiler generated types.  If
you're only looking for a specific type, this can be problematic.

This CL allows you to display *only* types, variables, or compilands
matching a particular pattern.  These filters can even be combined
with exclude filters.  Include-only filters are given priority, so
that first the set of items to display is limited only to those that
match the include filters, and then the set of exclude filters is
applied to those.  If there are no include filters specified, then
it means "display everything".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248822 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-29 19:49:06 +00:00
Zachary Turner
0c7c98a27d [llvm-pdbdump] Many minor fixes and improvements
A short list of some of the improvements:

1) Now supports -all command line argument, which implies many
   other command line arguments to simplify usage.
2) Now supports -no-compiler-generated command line argument to
   exclude compiler generated types.
3) Prints base class list.
4) -class-definitions implies -types.
5) Proper display of bitfields.
6) Can now distinguish between struct/class/interface/union.

And a few other minor tweaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230933 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-02 04:39:56 +00:00
Zachary Turner
914913952c [llvm-pdbdump] Add regex-based filtering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230888 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-01 06:49:49 +00:00
Zachary Turner
b6fca0bb37 [llvm-pdbdump] Fix member initialization order warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230747 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-27 09:53:55 +00:00
Zachary Turner
756b823064 [llvm-pdbdump] Colorize output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230746 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-27 09:15:59 +00:00