OSDN Git Service

DebugInfo: Overload get() in DIDescriptor subclasses
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 23 Mar 2015 21:54:07 +0000 (21:54 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 23 Mar 2015 21:54:07 +0000 (21:54 +0000)
commit7ad96398c61e17f6d3313a7249a6102962cc9682
treed0534efd826824402de9bca92a808882512ccf95
parent79cd79b1e6ff987df4edbce1c493eb253cac96f7
DebugInfo: Overload get() in DIDescriptor subclasses

Continue to simplify the `DIDescriptor` subclasses, so that they behave
more like raw pointers.  Remove `getRaw()`, replace it with an
overloaded `get()`, and overload the arrow and cast operators.  Two
testcases started to crash on the arrow operators with this change
because of `scope:` references that weren't real scopes.  I fixed them.
Soon I'll add verifier checks for them too.

This also adds explicit dereference operators.  Previously, the builtin
dereference against `operator MDNode *()` would have worked, but now the
builtins are ambiguous.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233030 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/DebugInfo.h
lib/IR/DebugInfo.cpp
test/CodeGen/X86/2012-11-30-misched-dbg.ll
test/Transforms/Inline/debug-invoke.ll