Cleanup LLVMMC headers
authorserge-sans-paille <sguelton@redhat.com>
Tue, 8 Feb 2022 14:32:21 +0000 (15:32 +0100)
committerserge-sans-paille <sguelton@redhat.com>
Wed, 9 Feb 2022 10:09:17 +0000 (11:09 +0100)
commitef736a1c39f27ef4777bbe6cf3af68c1fd588c8a
tree75253a9fc634b0060482aa4aea31c1aac8f64ac3
parent33986970a4372aa391331c60c8f23804e903cec2
Cleanup LLVMMC headers

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
Differential Revision: https://reviews.llvm.org/D119244
109 files changed:
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