llvm/lib
Duncan P. N. Exon Smith 94255c8eb0 Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment
Before we start to rely on valid `!dbg` attachments, add a check to the
verifier that `@llvm.dbg.*` intrinsics always have one.  Also check that
the `scope:` fields point at the same `MDSubprogram`.

This is in the context of PR22778.  The check that the `inlinedAt:`
fields agree has baked for a while (since r234021), so I'll kill [1] the
`MDLocalVariable::getInlinedAt()` field soon.

[1]: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150330/269387.html

Unfortunately, that means it's impossible to keep the current `Verifier`
checks, which rely on comparing `inlinedAt:` fields.  We'll be able to
keep the checks I'm adding here.

If this breaks your out-of-tree testcases, the upgrade script
(add-dbg-to-intrinsics.sh) attached to PR22778 that I used for r235040
might fix them for you.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235048 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-15 22:15:46 +00:00
..
Analysis One more -Wrange-loop-analysis cleanup. 2015-04-15 21:40:50 +00:00
AsmParser Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
Bitcode Revert "Verify sizes when trying to read a VBR" 2015-04-15 11:10:17 +00:00
CodeGen [WinEH] Try to make the MachineFunction CFG more accurate 2015-04-15 18:48:15 +00:00
DebugInfo Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ExecutionEngine [RuntimeDyld] Add casts to make delta computation 64-bit. 2015-04-15 04:46:01 +00:00
Fuzzer Removing a spurious space; NFC. 2015-04-06 16:09:13 +00:00
IR Verifier: Check that @llvm.dbg.* intrinsics have a !dbg attachment 2015-04-15 22:15:46 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker DebugInfo: Gut DISubprogram and DILexicalBlock* 2015-04-14 03:40:37 +00:00
LTO uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
MC Write section and section table entries in the same order. 2015-04-15 13:07:47 +00:00
Object Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
Option Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Support Fix lib\support\Windows/TimeValue.inc(48): warning C4189: 2015-04-15 07:45:52 +00:00
TableGen Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
Target Fix BXJ is undefined in AArch32. 2015-04-15 17:28:23 +00:00
Transforms DebugInfo: Require a DebugLoc in DIBuilder::insertDeclare() 2015-04-15 21:18:07 +00:00
CMakeLists.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
LLVMBuild.txt [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
Makefile [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00