[PATCH] D119244: Cleanup LLVMMC headers

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 8 07:02:03 PST 2022


serge-sans-paille created this revision.
serge-sans-paille added reviewers: RKSimon, MaskRay, lenary, mehdi_amini.
Herald added subscribers: foad, frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, fedor.sergeev, kbarton, hiraditya, sbc100, nhaehnle, jvesely, nemanjai, sdardis, dylanmckay, jyknight, arsenm.
Herald added a reviewer: JDevlieghere.
serge-sans-paille requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, sstefan1, aheejin.
Herald added a reviewer: jdoerfert.
Herald added a project: LLVM.

There's a few relevant forward declarations in there that may require downstream
adding explicit includes:

llvm/MC/MCContext.h no longer includes llvm/BinaryFormat/ELF.h, llvm/MC/MCSubtargetInfo.h, llvm/MC/MCTargetOptions.h
llvm/MC/MCObjectStreamer.h no longer include llvm/MC/MCAssembler.h
llvm/MC/MCAssembler.h no longer includes llvm/MC/MCFixup.h, llvm/MC/MCFragment.h

Counting preprocessed lines required to rebuild llvm-project on my setup:
before: 1052436830
after:  1049293745

Which is significant and backs up the change in addition to the usual benefits of
decreasing coupling between headers and compilation units.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D119244

Files:
  llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
  llvm/include/llvm/MC/MCAsmBackend.h
  llvm/include/llvm/MC/MCAssembler.h
  llvm/include/llvm/MC/MCCodeView.h
  llvm/include/llvm/MC/MCContext.h
  llvm/include/llvm/MC/MCDwarf.h
  llvm/include/llvm/MC/MCELFStreamer.h
  llvm/include/llvm/MC/MCFragment.h
  llvm/include/llvm/MC/MCInstrAnalysis.h
  llvm/include/llvm/MC/MCInstrDesc.h
  llvm/include/llvm/MC/MCInstrInfo.h
  llvm/include/llvm/MC/MCLinkerOptimizationHint.h
  llvm/include/llvm/MC/MCObjectFileInfo.h
  llvm/include/llvm/MC/MCObjectStreamer.h
  llvm/include/llvm/MC/MCPseudoProbe.h
  llvm/include/llvm/MC/MCSectionELF.h
  llvm/include/llvm/MC/MCStreamer.h
  llvm/include/llvm/MC/MCSubtargetInfo.h
  llvm/include/llvm/MC/MCSymbol.h
  llvm/include/llvm/MC/MCValue.h
  llvm/include/llvm/MC/SubtargetFeature.h
  llvm/include/llvm/MC/TargetRegistry.h
  llvm/include/llvm/Target/TargetLoweringObjectFile.h
  llvm/lib/CodeGen/LLVMTargetMachine.cpp
  llvm/lib/MC/ELFObjectWriter.cpp
  llvm/lib/MC/MCAsmBackend.cpp
  llvm/lib/MC/MCAsmStreamer.cpp
  llvm/lib/MC/MCAssembler.cpp
  llvm/lib/MC/MCCodeView.cpp
  llvm/lib/MC/MCContext.cpp
  llvm/lib/MC/MCExpr.cpp
  llvm/lib/MC/MCInstPrinter.cpp
  llvm/lib/MC/MCInstrAnalysis.cpp
  llvm/lib/MC/MCInstrDesc.cpp
  llvm/lib/MC/MCMachOStreamer.cpp
  llvm/lib/MC/MCNullStreamer.cpp
  llvm/lib/MC/MCObjectFileInfo.cpp
  llvm/lib/MC/MCObjectStreamer.cpp
  llvm/lib/MC/MCObjectWriter.cpp
  llvm/lib/MC/MCParser/COFFMasmParser.cpp
  llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
  llvm/lib/MC/MCParser/MasmParser.cpp
  llvm/lib/MC/MCParser/WasmAsmParser.cpp
  llvm/lib/MC/MCPseudoProbe.cpp
  llvm/lib/MC/MCSection.cpp
  llvm/lib/MC/MCSectionMachO.cpp
  llvm/lib/MC/MCSectionWasm.cpp
  llvm/lib/MC/MCSectionXCOFF.cpp
  llvm/lib/MC/MCStreamer.cpp
  llvm/lib/MC/MCSymbol.cpp
  llvm/lib/MC/MCSymbolELF.cpp
  llvm/lib/MC/MCWasmStreamer.cpp
  llvm/lib/MC/MCWin64EH.cpp
  llvm/lib/MC/MCWinCOFFStreamer.cpp
  llvm/lib/MC/MCWinEH.cpp
  llvm/lib/MC/MCXCOFFStreamer.cpp
  llvm/lib/MC/SubtargetFeature.cpp
  llvm/lib/MC/WasmObjectWriter.cpp
  llvm/lib/MC/WinCOFFObjectWriter.cpp
  llvm/lib/MC/XCOFFObjectWriter.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
  llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
  llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
  llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
  llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
  llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
  llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp
  llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
  llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
  llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
  llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
  llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
  llvm/lib/Target/PowerPC/PPCTargetStreamer.h
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
  llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCObjectFileInfo.cpp
  llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
  llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
  llvm/lib/Target/TargetMachine.cpp
  llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
  llvm/lib/Target/X86/AsmParser/X86Operand.h
  llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
  llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
  llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
  llvm/tools/dsymutil/MachOUtils.cpp
  llvm/tools/dsymutil/dsymutil.cpp
  llvm/tools/llvm-dwp/llvm-dwp.cpp
  llvm/tools/llvm-ml/llvm-ml.cpp
  llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
  llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
  llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp
  llvm/unittests/MC/DwarfLineTableHeaders.cpp
  llvm/unittests/MC/MCInstPrinter.cpp
  llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp
  llvm/utils/TableGen/FixedLenDecoderEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119244.406811.patch
Type: text/x-patch
Size: 128068 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220208/0a55ee66/attachment-0001.bin>


More information about the llvm-commits mailing list