DebugInfo: Create abstract function definitions even when concrete definitions precee...
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 27 May 2014 18:37:55 +0000 (18:37 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 27 May 2014 18:37:55 +0000 (18:37 +0000)
commit41087d99df6ed87405639a6ee1a4bc7b825d4b65
tree8650ddaa74eb3f9918e59503eae49ae308f6d0e8
parent0fb9226470d8b5f4da5f08d84adc75849f7cc920
DebugInfo: Create abstract function definitions even when concrete definitions preceed inline definitions.

After much puppetry, here's the major piece of the work to ensure that
even when a concrete definition preceeds all inline definitions, an
abstract definition is still created and referenced from both concrete
and inline definitions.

Variables are still broken in this case (see comment in
dbg-value-inlined-parameter.ll test case) and will be addressed in
follow up work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209677 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
test/DebugInfo/X86/concrete_out_of_line.ll
test/DebugInfo/X86/dbg-value-inlined-parameter.ll
test/DebugInfo/cross-cu-inlining.ll