[all-commits] [llvm/llvm-project] 2c784f: [BOLT][DWARF] Fix handling of invalid DIE references

Alexander Yermolovich via All-commits all-commits at lists.llvm.org
Mon Aug 14 17:28:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2c784f7d26850529642dd849afecfd7e5d00a49a
      https://github.com/llvm/llvm-project/commit/2c784f7d26850529642dd849afecfd7e5d00a49a
  Author: Alexander Yermolovich <ayermolo at meta.com>
  Date:   2023-08-14 (Mon, 14 Aug 2023)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/lib/Core/DIEBuilder.cpp
    A bolt/test/X86/dwarf4-invalid-reference-die-offset-no-internal-dwarf-error.s
    A bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-cant-parse-die.s
    A bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-invalid-die.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix handling of invalid DIE references

Compiler can generate DIE References that are invalid. Previously BOLT could
assert when writing out IR to .debug_info. Changed where DIE offsets are changed
so that it's always done. Thus making sure that assert is not triggered.

Added more specific warnings, and ability to print out invalid referenced DIE
offset when verbosity >=1.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D157746




More information about the All-commits mailing list