llvm/bolt/CMakeLists.txt
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

28 lines
445 B
CMake

set(LLVM_LINK_COMPONENTS
${LLVM_TARGETS_TO_BUILD}
CodeGen
Core
DebugInfoDWARF
MC
MCDisassembler
MCParser
Object
Orcjit
Support
)
add_llvm_tool(llvm-bolt
llvm-bolt.cpp
BasicBlockOffsetRanges.cpp
BinaryBasicBlock.cpp
BinaryContext.cpp
BinaryFunction.cpp
BinaryPatcher.cpp
DataReader.cpp
DebugLineTableRowRef.cpp
DebugLocWriter.cpp
DebugRangesSectionsWriter.cpp
Exceptions.cpp
RewriteInstance.cpp
)