module LLVM_C {
  umbrella "llvm-c"
  module * { export * }
}

module LLVM_Analysis {
  requires cplusplus
  umbrella "llvm/Analysis"
  module * { export * }

  // This is intended for (repeated) textual inclusion.
  textual header "llvm/Analysis/ScalarFuncs.def"
  textual header "llvm/Analysis/TargetLibraryInfo.def"
  textual header "llvm/Analysis/VecFuncs.def"
}

module LLVM_AsmParser {
  requires cplusplus
  umbrella "llvm/AsmParser"
  module * { export * }
}

module LLVM_CodeGenTypes {
  requires cplusplus

  module LLT {
    header "llvm/CodeGenTypes/LowLevelType.h" export *
  }
  module MVT {
    header "llvm/CodeGenTypes/MachineValueType.h" export *
    extern module LLVM_Extern_CodeGenTypes_Gen "module.extern.modulemap"
  }
}

// A module covering CodeGen/ and Target/. These are intertwined
// and codependent, and thus notionally form a single module.
module LLVM_Backend {
  requires cplusplus

  module CodeGen {
    umbrella "llvm/CodeGen"
    module * { export * }

    // Exclude these; they're intended to be included into only a single
    // translation unit (or none) and aren't part of this module.
    exclude header "llvm/CodeGen/LinkAllAsmWriterComponents.h"
    exclude header "llvm/CodeGen/LinkAllCodegenComponents.h"

    // These are intended for (repeated) textual inclusion.
    textual header "llvm/CodeGen/DIEValue.def"
  }
}

// FIXME: Make this as a submodule of LLVM_Backend again.
//        Doing so causes a linker error in clang-format.
module LLVM_Backend_Target {
  umbrella "llvm/Target"
  module * { export * }
}

module LLVM_Bitcode {
 requires cplusplus
 umbrella "llvm/Bitcode"
 module * { export * }
}

module LLVM_Bitstream {
 requires cplusplus
 umbrella "llvm/Bitstream"
 module * { export * }
}

module LLVM_BinaryFormat {
    requires cplusplus
    umbrella "llvm/BinaryFormat" module * { export * }
    textual header "llvm/BinaryFormat/Dwarf.def"
    textual header "llvm/BinaryFormat/DXContainerConstants.def"
    textual header "llvm/BinaryFormat/DynamicTags.def"
    textual header "llvm/BinaryFormat/MachO.def"
    textual header "llvm/BinaryFormat/MinidumpConstants.def"
    textual header "llvm/BinaryFormat/SFrameConstants.def"
    textual header "llvm/BinaryFormat/Swift.def"
    textual header "llvm/BinaryFormat/ELFRelocs/AArch64.def"
    textual header "llvm/BinaryFormat/ELFRelocs/AMDGPU.def"
    textual header "llvm/BinaryFormat/ELFRelocs/ARM.def"
    textual header "llvm/BinaryFormat/ELFRelocs/ARC.def"
    textual header "llvm/BinaryFormat/ELFRelocs/AVR.def"
    textual header "llvm/BinaryFormat/ELFRelocs/BPF.def"
    textual header "llvm/BinaryFormat/ELFRelocs/CSKY.def"
    textual header "llvm/BinaryFormat/ELFRelocs/Hexagon.def"
    textual header "llvm/BinaryFormat/ELFRelocs/i386.def"
    textual header "llvm/BinaryFormat/ELFRelocs/Lanai.def"
    textual header "llvm/BinaryFormat/ELFRelocs/LoongArch.def"
    textual header "llvm/BinaryFormat/ELFRelocs/M68k.def"
    textual header "llvm/BinaryFormat/ELFRelocs/Mips.def"
    textual header "llvm/BinaryFormat/ELFRelocs/MSP430.def"
    textual header "llvm/BinaryFormat/ELFRelocs/PowerPC64.def"
    textual header "llvm/BinaryFormat/ELFRelocs/PowerPC.def"
    textual header "llvm/BinaryFormat/ELFRelocs/RISCV.def"
    textual header "llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def"
    textual header "llvm/BinaryFormat/ELFRelocs/Sparc.def"
    textual header "llvm/BinaryFormat/ELFRelocs/SystemZ.def"
    textual header "llvm/BinaryFormat/ELFRelocs/VE.def"
    textual header "llvm/BinaryFormat/ELFRelocs/x86_64.def"
    textual header "llvm/BinaryFormat/ELFRelocs/Xtensa.def"
    textual header "llvm/BinaryFormat/WasmRelocs.def"
    textual header "llvm/BinaryFormat/MsgPack.def"
}

module LLVM_CAS {
  requires cplusplus
  umbrella "llvm/CAS"
  module * { export * }
}

module LLVM_Config {
  requires cplusplus
  umbrella "llvm/Config"
  extern module LLVM_Extern_Config_Def "module.extern.modulemap"
  module * { export * }
}

module LLVM_DebugInfo {
  requires cplusplus
  module DIContext { header "llvm/DebugInfo/DIContext.h" export * }
}

module LLVM_DebugInfo_DWARF {
  requires cplusplus

  umbrella "llvm/DebugInfo/DWARF"
  module * { export * }
}

module LLVM_DebugInfo_DWARF_LowLevel {
  requires cplusplus

  umbrella "llvm/DebugInfo/DWARF/LowLevel"
  module * { export * }
}

module LLVM_DebugInfo_PDB {
  requires cplusplus

  umbrella "llvm/DebugInfo/PDB"
  module * { export * }

  // Separate out this subdirectory; it's an optional component that depends on
  // a separate library which might not be available.
  //
  // FIXME: There should be a better way to specify this.
  exclude header "llvm/DebugInfo/PDB/DIA/DIADataStream.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumTables.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAError.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAFrameData.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIALineNumber.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIARawSymbol.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIASectionContrib.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIASession.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIASourceFile.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIASupport.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIATable.h"
  exclude header "llvm/DebugInfo/PDB/DIA/DIAUtils.h"
}

module LLVM_DebugInfo_PDB_DIA {
  requires cplusplus

  umbrella "llvm/DebugInfo/PDB/DIA"
  module * { export * }
}

module LLVM_DebugInfo_MSF {
  requires cplusplus

  umbrella "llvm/DebugInfo/MSF"
  module * { export * }
}

module LLVM_DebugInfo_CodeView {
  requires cplusplus

  umbrella "llvm/DebugInfo/CodeView"
  module * { export * }

  // These are intended for (repeated) textual inclusion.
  textual header "llvm/DebugInfo/CodeView/CodeViewLanguages.def"
  textual header "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
  textual header "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
  textual header "llvm/DebugInfo/CodeView/CodeViewTypes.def"
}

module LLVM_DWARFLinker {
  requires cplusplus

  umbrella "llvm/DWARFLinker"
  module * { export * }
}

module LLVM_ExecutionEngine {
  requires cplusplus

  umbrella "llvm/ExecutionEngine"
  module * { export * }

  // Exclude this; it's an optional component of the ExecutionEngine.
  exclude header "llvm/ExecutionEngine/OProfileWrapper.h"

  // Exclude these; they're intended to be included into only a single
  // translation unit (or none) and aren't part of this module.
  exclude header "llvm/ExecutionEngine/MCJIT.h"
  exclude header "llvm/ExecutionEngine/Interpreter.h"

  // Exclude headers from LLVM_OrcSupport.
  exclude header "llvm/ExecutionEngine/Orc/Shared/OrcError.h"
}

module LLVM_FileCheck {
  requires cplusplus

  umbrella "llvm/FileCheck"
  module * { export * }
}

module LLVM_Frontend_OpenMP {
  requires cplusplus

  umbrella "llvm/Frontend/OpenMP"
  module * { export * }

  exclude header "llvm/Frontend/OpenMP/OMPKinds.def"
}

// Orc utilities that don't depend only on Support (not ExecutionEngine or
// IR). This is a workaround for ExecutionEngine's broken layering, and will
// be removed in the future.
module LLVM_OrcSupport {
  requires cplusplus

  header "llvm/ExecutionEngine/Orc/Shared/OrcError.h"

  export *
}

module LLVM_Pass {
  module Pass {
    // PassSupport.h and PassAnalysisSupport.h are made available only through
    // Pass.h.
    header "llvm/Pass.h"
    textual header "llvm/PassSupport.h"
    textual header "llvm/PassAnalysisSupport.h"
    export *
  }

  module PassRegistry { header "llvm/PassRegistry.h" export * }
  module InitializePasses { header "llvm/InitializePasses.h" export * }
}

module LLVM_IR {
  requires cplusplus

  umbrella "llvm/IR"
  module * { export * }

  extern module LLVM_Extern_IR_Attributes_Gen "module.extern.modulemap"
  extern module LLVM_Extern_IR_Intrinsics_Gen "module.extern.modulemap"
  extern module LLVM_Extern_IR_Intrinsics_Enum "module.extern.modulemap"

  // These are intended for (repeated) textual inclusion.
  textual header "llvm/IR/ConstrainedOps.def"
  textual header "llvm/IR/DebugInfoFlags.def"
  textual header "llvm/IR/Instruction.def"
  textual header "llvm/IR/Metadata.def"
  textual header "llvm/IR/FixedMetadataKinds.def"
  textual header "llvm/IR/Value.def"
  textual header "llvm/IR/VPIntrinsics.def"
}

module LLVM_IRReader {
  requires cplusplus
  umbrella "llvm/IRReader"
  module * { export * }
}

module LLVM_LineEditor {
  requires cplusplus
  umbrella "llvm/LineEditor"
  module * { export * }
}

module LLVM_LTO {
  requires cplusplus
  umbrella "llvm/LTO"
  module * { export * }
}

module LLVM_MC {
  requires cplusplus

  umbrella "llvm/MC"
  module * { export * }
}

module LLVM_Object {
  requires cplusplus
  umbrella "llvm/Object"
  module * { export * }
}

module LLVM_Option {
  requires cplusplus
  umbrella "llvm/Option"
  module * { export * }
}

module LLVM_ProfileData {
  requires cplusplus

  umbrella "llvm/ProfileData"
  module * { export * }

  textual header "llvm/ProfileData/InstrProfData.inc"
  textual header "llvm/ProfileData/MemProfData.inc"
  textual header "llvm/ProfileData/MIBEntryDef.inc"
}

// FIXME: Mislayered?
module LLVM_Support_TargetRegistry {
  requires cplusplus
  header "llvm/Support/TargetRegistry.h"
  export *
}

module LLVM_TableGen {
  requires cplusplus
  umbrella "llvm/TableGen"
  module * { export * }
}

module LLVM_Transforms {
  requires cplusplus
  umbrella "llvm/Transforms"

  module * { export * }

  // Requires DEBUG_TYPE to be defined by including file.
  exclude header "llvm/Transforms/Utils/InstructionWorklist.h"
}

extern module LLVM_Extern_Utils_DataTypes "module.extern.modulemap"

// Build the module with the tablegen-generated files needed by the
// TargetParser module before building the TargetParser module itself.
module TargetParserGen {
  module AArch64TargetParserDef {
    textual header "llvm/TargetParser/AArch64CPUFeatures.inc"
    textual header "llvm/TargetParser/AArch64FeatPriorities.inc"
    header "llvm/TargetParser/AArch64TargetParser.h"
    extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap"
    export *
  }
  module RISCVTargetParserDef {
    header "llvm/TargetParser/RISCVTargetParser.h"
    extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap"
    export *
  }
}

// A module covering ADT/ and Support/. These are intertwined and
// codependent, and notionally form a single module.
module LLVM_Utils {
  module ADT {
    requires cplusplus

    umbrella "llvm/ADT"
    module * { export * }
  }

  module Demangle {
    requires cplusplus

    umbrella "llvm/Demangle"
    module * { export * }

    textual header "llvm/Demangle/ItaniumNodes.def"
  }

  module Support {
    requires cplusplus

    umbrella "llvm/Support"
    module * { export * }

    // Exclude this; it should only be used on Windows.
    exclude header "llvm/Support/Windows/WindowsSupport.h"

    // Exclude these; they are fundamentally non-modular.
    exclude header "llvm/Support/PluginLoader.h"
    exclude header "llvm/Support/Solaris/sys/regset.h"
    textual header "llvm/Support/TargetOpcodes.def"
    textual header "llvm/Support/VirtualOutputConfig.def"
  }

  module TargetParser {
    requires cplusplus

    umbrella "llvm/TargetParser"
    module * { export * }

    // These are intended for textual inclusion.
    textual header "llvm/TargetParser/ARMTargetParser.def"
    textual header "llvm/TargetParser/CSKYTargetParser.def"
    textual header "llvm/TargetParser/X86TargetParser.def"
    textual header "llvm/TargetParser/LoongArchTargetParser.def"
    textual header "llvm/TargetParser/PPCTargetParser.def"
    textual header "llvm/TargetParser/XtensaTargetParser.def"
  }

  // This part of the module is usable from both C and C++ code.
  module ConvertUTF {
    header "llvm/Support/ConvertUTF.h"
    export *
  }
}

// This is used for a $src == $build compilation. Otherwise we use
// LLVM_Support_DataTypes_Build, defined in a module map that is
// copied into the build area.
module LLVM_Support_DataTypes_Src {
  header "llvm/Support/DataTypes.h"
  export *
}

module LLVM_WindowsManifest {
  requires cplusplus
  umbrella "llvm/WindowsManifest"
  module * { export * }
}

module LLVM_SandboxIR {
  requires cplusplus

  umbrella "llvm/SandboxIR"
  module * { export * }

  textual header "llvm/SandboxIR/Values.def"
}
