This is an archive of the discontinued LLVM Phabricator instance.

Cleanup LLVMDWARFDebugInfo
ClosedPublic

Authored by serge-sans-paille on Feb 14 2022, 7:39 AM.

Details

Summary

As usual with that header cleanup series, some implicit dependencies now need to
be explicit:

llvm/DebugInfo/DWARF/DWARFContext.h no longer includes:

  • "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
  • "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"
  • "llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h"
  • "llvm/DebugInfo/DWARF/DWARFDebugAranges.h"
  • "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
  • "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
  • "llvm/DebugInfo/DWARF/DWARFDebugMacro.h"
  • "llvm/DebugInfo/DWARF/DWARFGdbIndex.h"
  • "llvm/DebugInfo/DWARF/DWARFSection.h"
  • "llvm/DebugInfo/DWARF/DWARFTypeUnit.h"
  • "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"

Plus llvm/Support/Errc.h not included by a bunch of llvm/DebugInfo/DWARF/DWARF*.h files

Preprocessed lines to build llvm on my setup:
after: 1065629059
before: 1066621848

Which is a great diff!

Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup

Diff Detail

Event Timeline

serge-sans-paille requested review of this revision.Feb 14 2022, 7:39 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptFeb 14 2022, 7:39 AM
yota9 removed a subscriber: yota9.Feb 14 2022, 7:39 AM

bolt part looks fine.

MaskRay accepted this revision.Feb 14 2022, 3:38 PM
MaskRay added subscribers: hubert.reinterpretcast, Kai.

Plus llvm/Support/Errc.h not included by a bunch of llvm/DebugInfo/DWARF/DWARF*.h files

You may check whether we can just get rid of llvm/include/llvm/Support/Errc.h in favor of <system_error>.
It (https://reviews.llvm.org/rG2a826e40fa51fcae4adb564d789cafe95776e0bb 2014-06) could be related to ancient MSVC workaround which may not be relevant today (we now require Visual Studio 2019 or later).

CC @Kai @hubert.reinterpretcast for z/OS / AIX.

llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
40

There is usually a blank line between using namespace and namespace llvm

This revision is now accepted and ready to land.Feb 14 2022, 3:38 PM
This revision was landed with ongoing or failed builds.Feb 15 2022, 12:16 AM
This revision was automatically updated to reflect the committed changes.