llvm/bolt
Gabriel Poesia 4b4db40174 Update DWARF location lists after optimization.
Summary:

    Summary: Update DWARF location lists in .debug_loc and pointers to
    them in .debug_info so that gdb can print variables which change
    location during their lifetime.

    The following changes were made:

    - Refactored BasicBlockOffsetRanges to allow ranges to be tied to binary information (so that we can reuse it for location lists)
    - Implemented range compression optimization in BasicBlockOffsetRanges (needed otherwise too much data was being generated).
    - Added representation for location lists (LocationList.h, BinaryContext.h)
    - Implemented .debug_loc serializer that keeps the updated offsets (DebugLocWriter.{h,cpp})
    - After disassembly, traverse entries in .debug_loc and save them in context (BinaryContext.cpp)
    - After optimizations, serialize .debug_loc and update pointers in .debug_info (RewriteInstance.cpp)

(cherry picked from FBD3130682)
2016-04-01 11:37:28 -07:00
..
BasicBlockOffsetRanges.cpp Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
BasicBlockOffsetRanges.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
BinaryBasicBlock.cpp Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
BinaryBasicBlock.h Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
BinaryContext.cpp Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
BinaryContext.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
BinaryFunction.cpp Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
BinaryFunction.h Re-enable conditional function spitting under an option. 2016-03-31 16:38:49 -07:00
BinaryPatcher.cpp Update subroutine address ranges in binary. 2016-03-16 18:08:29 -07:00
BinaryPatcher.h Update subroutine address ranges in binary. 2016-03-16 18:08:29 -07:00
CMakeLists.txt Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
DataReader.cpp Populate function execution count while parsing fdata. 2016-03-28 11:06:28 -07:00
DataReader.h Populate function execution count while parsing fdata. 2016-03-28 11:06:28 -07:00
DebugLineTableRowRef.cpp Fix default line number information for instructions. 2016-03-14 11:40:52 -07:00
DebugLineTableRowRef.h Fix default line number information for instructions. 2016-03-14 11:40:52 -07:00
DebugLocWriter.cpp Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
DebugLocWriter.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
DebugRangesSectionsWriter.cpp Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
DebugRangesSectionsWriter.h Update DWARF lexical blocks address ranges. 2016-03-28 17:45:22 -07:00
Exceptions.cpp Proper skipping of unsupported CFI instructions. 2016-03-10 23:03:17 -08:00
Exceptions.h Check function data in symbol table against data in .eh_frame. 2016-03-11 11:09:34 -08:00
LexicalBlock.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
llvm-bolt.cpp Rename binary optimizer to BOLT. 2016-02-05 14:42:04 -08:00
LLVMBuild.txt Rename binary optimizer to BOLT. 2016-02-05 14:42:04 -08:00
LocationList.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
README.md BOLT root commit 2022-01-10 17:58:05 -08:00
RewriteInstance.cpp Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00
RewriteInstance.h Update DWARF location lists after optimization. 2016-04-01 11:37:28 -07:00