#
76c9eb99 |
| 18-Jun-2016 |
Amjad Aboud <amjad.aboud@intel.com> |
[codeview] Emit non-virtual method type.
Differential Revision: http://reviews.llvm.org/D21011
llvm-svn: 273084
|
#
6fa1546a |
| 17-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Emit incomplete member pointer types with the unknown model
An incomplete member pointer type will always have a size of zero, so we don't need an extra flag. Credit to David Majnemer for
[codeview] Emit incomplete member pointer types with the unknown model
An incomplete member pointer type will always have a size of zero, so we don't need an extra flag. Credit to David Majnemer for the idea.
llvm-svn: 273057
show more ...
|
#
604105bb |
| 17-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Add DIFlags for pointer to member representations
Summary: This seems like the least intrusive way to pass this information through.
Fixes PR28151
Reviewers: majnemer, aprantl, dblaikie
[codeview] Add DIFlags for pointer to member representations
Summary: This seems like the least intrusive way to pass this information through.
Fixes PR28151
Reviewers: majnemer, aprantl, dblaikie
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D21444
llvm-svn: 273053
show more ...
|
#
da9548f9 |
| 17-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Refactor enumerator emission
This addresses Amjad's review comments on D21442.
llvm-svn: 273010
|
#
ac945e27 |
| 17-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Make function names more consistent with MSVC
Names in function id records don't include nested name specifiers or template arguments, but names in the symbol stream include both.
For th
[codeview] Make function names more consistent with MSVC
Names in function id records don't include nested name specifiers or template arguments, but names in the symbol stream include both.
For the symbol stream, instead of having Clang put the fully qualified name in the subprogram display name, recreate it from the subprogram scope chain. For the type stream, take the unqualified name and chop of any template arguments.
This makes it so that CodeView DI metadata is more similar to DWARF DI metadata.
llvm-svn: 273009
show more ...
|
#
979cb888 |
| 16-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Implement support for enums
MSVC handles enums differently from structs and classes: a forward declaration is not emitted unconditionally. MSVC does not emit an S_UDT record for the enum
[CodeView] Implement support for enums
MSVC handles enums differently from structs and classes: a forward declaration is not emitted unconditionally. MSVC does not emit an S_UDT record for the enum.
Differential Revision: http://reviews.llvm.org/D21442
llvm-svn: 272960
show more ...
|
#
01ee3dae |
| 16-Jun-2016 |
Zachary Turner <zturner@google.com> |
Resubmit "[pdb] Change type visitor pattern to be dynamic."
There was a regression introduced during type stream merging when visiting a field list record. This has been fixed in this patch.
llvm-
Resubmit "[pdb] Change type visitor pattern to be dynamic."
There was a regression introduced during type stream merging when visiting a field list record. This has been fixed in this patch.
llvm-svn: 272929
show more ...
|
#
73b0b2f5 |
| 16-Jun-2016 |
Zachary Turner <zturner@google.com> |
Revert "[pdb] Change type visitor pattern to be dynamic."
This reverts commit fb0dd311e1ad945827b8ffd5354f4810e2be1579.
This breaks some llvm-readobj tests.
llvm-svn: 272927
|
#
1f6372c4 |
| 16-Jun-2016 |
Zachary Turner <zturner@google.com> |
[pdb] Change type visitor pattern to be dynamic.
This allows better catching of compiler errors since we can use the override keyword to verify that methods are actually overridden.
Also in this pa
[pdb] Change type visitor pattern to be dynamic.
This allows better catching of compiler errors since we can use the override keyword to verify that methods are actually overridden.
Also in this patch I've changed from storing a boolean Error code everywhere to returning an llvm::Error, to propagate richer error information up the call stack.
Reviewed By: ruiu, rnk Differential Revision: http://reviews.llvm.org/D21410
llvm-svn: 272926
show more ...
|
#
3128b10c |
| 15-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Add support for emitting S_UDT for typedefs
Emit a S_UDT record for typedefs. We still need to do something for class types.
Differential Revision: http://reviews.llvm.org/D21149
llvm-
[CodeView] Add support for emitting S_UDT for typedefs
Emit a S_UDT record for typedefs. We still need to do something for class types.
Differential Revision: http://reviews.llvm.org/D21149
llvm-svn: 272813
show more ...
|
#
577be0fe |
| 15-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Don't emit debuginfo for imported symbols
Emitting symbol information requires us to have a definition for the symbol. A symbol reference is insufficient.
This fixes PR28123.
llvm-svn:
[CodeView] Don't emit debuginfo for imported symbols
Emitting symbol information requires us to have a definition for the symbol. A symbol reference is insufficient.
This fixes PR28123.
llvm-svn: 272738
show more ...
|
#
bdc4956b |
| 12-Jun-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pass DebugLoc and SDLoc by const ref.
This used to be free, copying and moving DebugLocs became expensive after the metadata rewrite. Passing by reference eliminates a ton of track/untrack operation
Pass DebugLoc and SDLoc by const ref.
This used to be free, copying and moving DebugLocs became expensive after the metadata rewrite. Passing by reference eliminates a ton of track/untrack operations. No functionality change intended.
llvm-svn: 272512
show more ...
|
#
6d1d2754 |
| 09-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Skip DIGlobalVariables with no variable
They have probably been discarded during optimization.
llvm-svn: 272231
|
#
de3d8b50 |
| 08-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[DebugInfo] Add calling convention support for DWARF and CodeView
Summary: Now DISubroutineType has a 'cc' field which should be a DW_CC_ enum. If it is present and non-zero, the backend will emit
[DebugInfo] Add calling convention support for DWARF and CodeView
Summary: Now DISubroutineType has a 'cc' field which should be a DW_CC_ enum. If it is present and non-zero, the backend will emit it as a DW_AT_calling_convention attribute. On the CodeView side, we translate it to the appropriate enum for the LF_PROCEDURE record.
I added a new LLVM vendor specific enum to the list of DWARF calling conventions. DWARF does not appear to attempt to standardize these, so I assume it's OK to do this until we coordinate with GCC on how to emit vectorcall convention functions.
Reviewers: dexonsmith, majnemer, aaboud, amccarth
Subscribers: mehdi_amini, llvm-commits
Differential Revision: http://reviews.llvm.org/D21114
llvm-svn: 272197
show more ...
|
#
f3c3c132 |
| 08-Jun-2016 |
Adrian McCarthy <amccarth@google.com> |
Generate codeview for array type metadata.
Differential Revision: http://reviews.llvm.org/D21107
llvm-svn: 272187
|
#
6f3406df |
| 07-Jun-2016 |
Reid Kleckner <rnk@google.com> |
Re-land "[codeview] Emit information about global variables"
This reverts commit r271962 and reinstantes r271957.
MSVC's linker doesn't appear to like it if you have an empty symbol substream, so o
Re-land "[codeview] Emit information about global variables"
This reverts commit r271962 and reinstantes r271957.
MSVC's linker doesn't appear to like it if you have an empty symbol substream, so only open a symbol substream if we're going to emit something about globals into it.
Makes check-asan pass.
llvm-svn: 271965
show more ...
|
#
e8a236fc |
| 06-Jun-2016 |
Reid Kleckner <rnk@google.com> |
Revert "[codeview] Emit information about global variables"
This reverts commit r271957, it broke check-asan on Windows.
llvm-svn: 271962
|
#
87eddf72 |
| 06-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Emit information about global variables
This currently emits everything as S_GDATA32, which isn't right for things like thread locals, but it's a start.
llvm-svn: 271957
|
#
8c46a4ce |
| 04-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[AsmPrinter, CodeView] There are some more ways of getting wchar_t
C++ has a builtin type called wchar_t. Clang also provides a type called __wchar_t in C mode.
In C mode, wchar_t can be a typedef
[AsmPrinter, CodeView] There are some more ways of getting wchar_t
C++ has a builtin type called wchar_t. Clang also provides a type called __wchar_t in C mode.
In C mode, wchar_t can be a typedef to unsigned short.
llvm-svn: 271793
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
a8d57407 |
| 03-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Add basic record type translation
This only translates data members for now. Translating overloaded methods is complicated, so I stopped short of doing that.
Reviewers: aaboud
Different
[codeview] Add basic record type translation
This only translates data members for now. Translating overloaded methods is complicated, so I stopped short of doing that.
Reviewers: aaboud
Differential Revision: http://reviews.llvm.org/D20924
llvm-svn: 271680
show more ...
|
#
b68f32f0 |
| 02-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Use None instead of Void if there is no subprogram
llvm-svn: 271566
|
#
b9c80fd8 |
| 02-Jun-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Fix crash when handling qualified void types
The DIType* for void is the null pointer. A null DIType can never be a qualified type, so we can just exit the loop at this point and go to ge
[codeview] Fix crash when handling qualified void types
The DIType* for void is the null pointer. A null DIType can never be a qualified type, so we can just exit the loop at this point and go to getTypeIndex(BaseTy).
Fixes PR27984
llvm-svn: 271550
show more ...
|
#
75c3ebfa |
| 02-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Implement function-type indices
We still need to do something about member functions and calling conventions.
Differential Revision: http://reviews.llvm.org/D20900
llvm-svn: 271541
|
#
1c2cb1dd |
| 02-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Use the right type index for long long
We used T_INT8 instead of T_QUAD.
llvm-svn: 271497
|
#
afefa673 |
| 02-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
[CodeView] Remove superfluous bitmath
llvm-svn: 271495
|