Use the range machinery for DW_AT_ranges and DW_AT_high/lo_pc.
authorEric Christopher <echristo@gmail.com>
Wed, 19 Mar 2014 22:42:36 +0000 (22:42 +0000)
committerEric Christopher <echristo@gmail.com>
Wed, 19 Mar 2014 22:42:36 +0000 (22:42 +0000)
commitf2a52c372dbe0b0f7012e2b8feeec16e38d70214
treed0649e7e7025e029b2cc227663779b97ee7c4920
parent925147ca2064d62cb17fd550e3b26abf90c74c7a
Use the range machinery for DW_AT_ranges and DW_AT_high/lo_pc.

This commit moves us from a single range per subprogram to extending
ranges if we are:

a) In the same section, and
b) In the same enclosing CU.

This means we have more fine grained ranges for compile units, and fewer
ranges overall when we have multiple functions in the same CU
adjacent to each other in the object file.

Also remove all of the earlier hacks around this functionality for
function sections etc. Also update all of the testcases to take into
account the merging functionality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204277 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
lib/CodeGen/AsmPrinter/DwarfUnit.h
test/DebugInfo/X86/cu-ranges.ll
test/DebugInfo/X86/fission-cu.ll
test/DebugInfo/X86/low-pc-cu.ll
test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
test/DebugInfo/cu-range-hole.ll
test/DebugInfo/cu-ranges.ll