| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 187017
|
|
|
|
|
|
|
| |
all enumerated cases. Reformat the rest of the existing constructors to
match.
llvm-svn: 187015
|
|
|
|
|
|
|
| |
Move to a single constructor with a default argument and avoid
the check and nullification.
llvm-svn: 187014
|
|
|
|
| |
llvm-svn: 187013
|
|
|
|
| |
llvm-svn: 187012
|
|
|
|
|
|
|
| |
Improve the Finder to handle context of a DIVariable.
If Scope is a DICompileUnit, add it to the list of CUs.
llvm-svn: 187003
|
|
|
|
| |
llvm-svn: 187002
|
|
|
|
| |
llvm-svn: 187001
|
|
|
|
|
|
|
| |
Use getNodeField to access a field as a MDNode.
No functionality change.
llvm-svn: 186985
|
|
|
|
| |
llvm-svn: 186972
|
|
|
|
|
|
|
|
|
|
|
| |
MDNodes used by DbgDeclareInst and DbgValueInst.
Another 16 testing cases failed and they are disabled with
-disable-debug-info-verifier.
A total of 34 cases are disabled with -disable-debug-info-verifier and will be
corrected.
llvm-svn: 186902
|
|
|
|
|
|
| |
Instead of just adding the scope to the list, we actually handle the scope.
llvm-svn: 186867
|
|
|
|
|
|
|
|
| |
Simplify DIxxx:Verify to not call Verify on an operand. Instead, we use
DebugInfoFinder to list all MDNodes that should be a DIScope and all MDNodes
that should be a DIType and we will call Verify on those lists.
llvm-svn: 186737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1> Use DebugInfoFinder to find debug info MDNodes.
2> Add disable-debug-info-verifier to disable verifying debug info.
3> Disable verifying for testing cases that fail (will update the testing cases
later on).
4> MDNodes generated by clang can have empty filename for TAG_inheritance and
TAG_friend, so DIType::Verify is modified accordingly.
Note that DebugInfoFinder does not list all debug info MDNode.
For example, clang can generate:
metadata !{i32 786468}, which will fail to verify.
This MDNode is used by debug info but not included in DebugInfoFinder.
This MDNode is generated as a temporary node in DIBuilder::createFunction
Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
MDNode::getTemporary(VMContext, TElts)
llvm-svn: 186634
|
|
|
|
|
|
|
| |
This reverts commit r185876 as the functions appear to still be used
by dragonegg.
llvm-svn: 185890
|
|
|
|
| |
llvm-svn: 185876
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were being a bit too aggresive here in classifying global variables
with no global reference or constant value to be invalid - this would
cause LLVM to not emit the DWARF description of the global variable if
it had been optimized away, which isn't helpful for users who might
benefit from the global variable's description even if there's no
location information.
This also fixes a crasher issue here that I was unable to reduce a test
case for - involving a using decl (& subsequent
DW_TAG_imported_declaration ) of such a global variable that, once
optimized away, would crash when an attempt to emit the imported
declaration was made.
llvm-svn: 185675
|
|
|
|
|
|
| |
No functionality change. Remove handling for the null case.
llvm-svn: 185354
|
|
|
|
|
|
|
|
|
| |
No functionality change.
It should suffice to check the type of a debug info metadata, instead of
calling Verify. For cases where we know the type of a DI metadata, use
assert.
llvm-svn: 185249
|
|
|
|
|
|
| |
and parameter packs
llvm-svn: 184643
|
|
|
|
|
|
|
|
|
| |
definitions (& rename the 'fwd' tag to 'decl' for clarity)
This change is version locked with a change in Clang, so expect some
transient buildbot fallout.
llvm-svn: 184525
|
|
|
|
|
|
| |
Also simplify code a bit while there. No functionality change.
llvm-svn: 183076
|
|
|
|
| |
llvm-svn: 182869
|
|
|
|
|
|
|
|
|
| |
This resolves the last of the PR14606 failures in the GDB 7.5 test
suite by implementing an optional name field for
DW_TAG_imported_modules/DIImportedEntities and using that to implement
C++ namespace aliases (eg: "namespace X = Y;").
llvm-svn: 182328
|
|
|
|
|
|
|
|
|
|
| |
parameters.
This is only tested for global variables at the moment (& includes tests
for the unnamed parameter case, since apparently this entire function
was completely untested previously)
llvm-svn: 181632
|
|
|
|
|
|
|
|
|
|
|
| |
- requires existing debug information to be present
- fixes up file name and line number information in metadata
- emits a "<orig_filename>-debug.ll" succinct IR file (without !dbg metadata
or debug intrinsics) that can be read by a debugger
- initialize pass in opt tool to enable the "-debug-ir" flag
- lit tests to follow
llvm-svn: 181467
|
|
|
|
|
|
|
|
|
| |
DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.
llvm-svn: 181364
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r179840 with a fix to test/DebugInfo/two-cus-from-same-file.ll
I'm not sure why that test only failed on ARM & MIPS and not X86 Linux, even
though the debug info was clearly invalid on all of them, but this ought to fix
it.
llvm-svn: 179996
|
|
|
|
|
|
| |
This reverts commit r179836 as it seems to have caused test failures.
llvm-svn: 179840
|
|
|
|
|
|
|
|
|
|
| |
Adding another CU-wide list, in this case of imported_modules (since they
should be relatively rare, it seemed better to add a list where each element
had a "context" value, rather than add a (usually empty) list to every scope).
This takes care of DW_TAG_imported_module, but to fully address PR14606 we'll
need to expand this to cover DW_TAG_imported_declaration too.
llvm-svn: 179836
|
|
|
|
|
|
|
|
| |
add a test case
CR feedback from Rafael Espindola and Paul Robinson.
llvm-svn: 179664
|
|
|
|
|
|
|
|
|
| |
This reverts commit 342d92c7a0adeabc9ab00f3f0d88d739fe7da4c7.
Turns out we're going with a different schema design to represent
DW_TAG_imported_modules so we won't need this extra field.
llvm-svn: 178215
|
|
|
|
| |
llvm-svn: 178155
|
|
|
|
| |
llvm-svn: 178144
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is just the basic groundwork for supporting DW_TAG_imported_module but I
wanted to commit this before pushing support further into Clang or LLVM so that
this rather churny change is isolated from the rest of the work. The major
churn here is obviously adding another field (within the common DIScope prefix)
to all DIScopes (files, classes, namespaces, lexical scopes, etc). This should
be the last big churny change needed for DW_TAG_imported_module/using directive
support/PR14606.
llvm-svn: 178099
|
|
|
|
|
|
| |
usage in Clang
llvm-svn: 178090
|
|
|
|
|
|
|
|
| |
This will be used to factor out some uses of magic number operand offsets
inside Clang where these fields were updated in an effort to resolve forward
declarations/circular references.
llvm-svn: 178078
|
|
|
|
|
|
| |
This is the last change in transitioning all DIScopes to have a common prefix.
llvm-svn: 177756
|
|
|
|
|
|
| |
file/directory pair
llvm-svn: 177742
|
|
|
|
|
|
| |
directly to the pair rather than the DIFile.
llvm-svn: 177677
|
|
|
|
| |
llvm-svn: 177661
|
|
|
|
|
|
|
|
| |
file/directory pair
This removes the DICompileUnit special case from DIScope.
llvm-svn: 177610
|
|
|
|
| |
llvm-svn: 177590
|
|
|
|
|
|
|
|
| |
the pair rather than the DIFile
(paired to a Clang test - excuse the buildbot skew/fallout)
llvm-svn: 177566
|
|
|
|
|
|
|
| |
Sorry for the version skew - I should've committed this before the
corresponding Clang test case.
llvm-svn: 177486
|
|
|
|
|
|
|
|
|
| |
a raw directory/file pair
This makes DIType's first non-tag parameter the same as DIFile's, allowing them
to both share the common implementation of getFilename/getDirectory in DIScope.
llvm-svn: 177467
|
|
|
|
|
|
|
|
|
|
| |
This is the first step to making all DIScopes have a common metadata prefix (so
that things (using directives, for example) that can appear in any scope can be
added to that common prefix). DIFile is itself a DIScope so the common prefix
of all DIScopes cannot be a DIFile - instead it's the raw filename/directory
name pair.
llvm-svn: 177239
|
|
|
|
| |
llvm-svn: 176983
|
|
|
|
|
|
|
| |
This is the next step towards making the metadata for DIScopes have a common
prefix rather than having to delegate based on their tag type.
llvm-svn: 176913
|
|
|
|
| |
llvm-svn: 176910
|