124f36a21SVolodymyr Sapsaimodule LLVM_C { 224f36a21SVolodymyr Sapsai umbrella "llvm-c" 324f36a21SVolodymyr Sapsai module * { export * } 424f36a21SVolodymyr Sapsai} 524f36a21SVolodymyr Sapsai 624f36a21SVolodymyr Sapsaimodule LLVM_Analysis { 724f36a21SVolodymyr Sapsai requires cplusplus 824f36a21SVolodymyr Sapsai umbrella "llvm/Analysis" 924f36a21SVolodymyr Sapsai module * { export * } 1024f36a21SVolodymyr Sapsai 1124f36a21SVolodymyr Sapsai // This is intended for (repeated) textual inclusion. 1224f36a21SVolodymyr Sapsai textual header "llvm/Analysis/ScalarFuncs.def" 1324f36a21SVolodymyr Sapsai textual header "llvm/Analysis/TargetLibraryInfo.def" 1424f36a21SVolodymyr Sapsai textual header "llvm/Analysis/VecFuncs.def" 1524f36a21SVolodymyr Sapsai} 1624f36a21SVolodymyr Sapsai 1724f36a21SVolodymyr Sapsaimodule LLVM_AsmParser { 1824f36a21SVolodymyr Sapsai requires cplusplus 1924f36a21SVolodymyr Sapsai umbrella "llvm/AsmParser" 2024f36a21SVolodymyr Sapsai module * { export * } 2124f36a21SVolodymyr Sapsai} 2224f36a21SVolodymyr Sapsai 2324f36a21SVolodymyr Sapsaimodule LLVM_CodeGenTypes { 2424f36a21SVolodymyr Sapsai requires cplusplus 2524f36a21SVolodymyr Sapsai 2624f36a21SVolodymyr Sapsai module LLT { 27184ca395SNico Weber header "llvm/CodeGenTypes/LowLevelType.h" export * 2824f36a21SVolodymyr Sapsai } 2924f36a21SVolodymyr Sapsai module MVT { 30184ca395SNico Weber header "llvm/CodeGenTypes/MachineValueType.h" export * 3124f36a21SVolodymyr Sapsai extern module LLVM_Extern_CodeGenTypes_Gen "module.extern.modulemap" 3224f36a21SVolodymyr Sapsai } 3324f36a21SVolodymyr Sapsai} 3424f36a21SVolodymyr Sapsai 3524f36a21SVolodymyr Sapsai// A module covering CodeGen/ and Target/. These are intertwined 3624f36a21SVolodymyr Sapsai// and codependent, and thus notionally form a single module. 3724f36a21SVolodymyr Sapsaimodule LLVM_Backend { 3824f36a21SVolodymyr Sapsai requires cplusplus 3924f36a21SVolodymyr Sapsai 4024f36a21SVolodymyr Sapsai module CodeGen { 4124f36a21SVolodymyr Sapsai umbrella "llvm/CodeGen" 4224f36a21SVolodymyr Sapsai module * { export * } 4324f36a21SVolodymyr Sapsai 4424f36a21SVolodymyr Sapsai // Exclude these; they're intended to be included into only a single 4524f36a21SVolodymyr Sapsai // translation unit (or none) and aren't part of this module. 4624f36a21SVolodymyr Sapsai exclude header "llvm/CodeGen/LinkAllAsmWriterComponents.h" 4724f36a21SVolodymyr Sapsai exclude header "llvm/CodeGen/LinkAllCodegenComponents.h" 4824f36a21SVolodymyr Sapsai 4924f36a21SVolodymyr Sapsai // These are intended for (repeated) textual inclusion. 5024f36a21SVolodymyr Sapsai textual header "llvm/CodeGen/DIEValue.def" 5124f36a21SVolodymyr Sapsai } 5224f36a21SVolodymyr Sapsai} 5324f36a21SVolodymyr Sapsai 5424f36a21SVolodymyr Sapsai// FIXME: Make this as a submodule of LLVM_Backend again. 5524f36a21SVolodymyr Sapsai// Doing so causes a linker error in clang-format. 5624f36a21SVolodymyr Sapsaimodule LLVM_Backend_Target { 5724f36a21SVolodymyr Sapsai umbrella "llvm/Target" 5824f36a21SVolodymyr Sapsai module * { export * } 5924f36a21SVolodymyr Sapsai} 6024f36a21SVolodymyr Sapsai 6124f36a21SVolodymyr Sapsaimodule LLVM_Bitcode { 6224f36a21SVolodymyr Sapsai requires cplusplus 6324f36a21SVolodymyr Sapsai umbrella "llvm/Bitcode" 6424f36a21SVolodymyr Sapsai module * { export * } 6524f36a21SVolodymyr Sapsai} 6624f36a21SVolodymyr Sapsai 6724f36a21SVolodymyr Sapsaimodule LLVM_Bitstream { 6824f36a21SVolodymyr Sapsai requires cplusplus 6924f36a21SVolodymyr Sapsai umbrella "llvm/Bitstream" 7024f36a21SVolodymyr Sapsai module * { export * } 7124f36a21SVolodymyr Sapsai} 7224f36a21SVolodymyr Sapsai 7324f36a21SVolodymyr Sapsaimodule LLVM_BinaryFormat { 7424f36a21SVolodymyr Sapsai requires cplusplus 7524f36a21SVolodymyr Sapsai umbrella "llvm/BinaryFormat" module * { export * } 7624f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/Dwarf.def" 7724f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/DXContainerConstants.def" 7824f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/DynamicTags.def" 7924f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/MachO.def" 8024f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/MinidumpConstants.def" 8124f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/Swift.def" 8224f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/AArch64.def" 8324f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/AMDGPU.def" 8424f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/ARM.def" 8524f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/ARC.def" 8624f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/AVR.def" 8724f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/BPF.def" 8824f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/CSKY.def" 8924f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/Hexagon.def" 9024f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/i386.def" 9124f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/Lanai.def" 9224f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/LoongArch.def" 9324f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/M68k.def" 9424f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/Mips.def" 9524f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/MSP430.def" 9624f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/PowerPC64.def" 9724f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/PowerPC.def" 9824f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/RISCV.def" 99db408accSVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def" 10024f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/Sparc.def" 10124f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/SystemZ.def" 10224f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/VE.def" 10324f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/x86_64.def" 10424f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/ELFRelocs/Xtensa.def" 10524f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/WasmRelocs.def" 10624f36a21SVolodymyr Sapsai textual header "llvm/BinaryFormat/MsgPack.def" 10724f36a21SVolodymyr Sapsai} 10824f36a21SVolodymyr Sapsai 10924f36a21SVolodymyr Sapsaimodule LLVM_Config { 11024f36a21SVolodymyr Sapsai requires cplusplus 11124f36a21SVolodymyr Sapsai umbrella "llvm/Config" 11224f36a21SVolodymyr Sapsai extern module LLVM_Extern_Config_Def "module.extern.modulemap" 11324f36a21SVolodymyr Sapsai module * { export * } 11424f36a21SVolodymyr Sapsai} 11524f36a21SVolodymyr Sapsai 11624f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo { 11724f36a21SVolodymyr Sapsai requires cplusplus 11824f36a21SVolodymyr Sapsai module DIContext { header "llvm/DebugInfo/DIContext.h" export * } 11924f36a21SVolodymyr Sapsai} 12024f36a21SVolodymyr Sapsai 12124f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo_DWARF { 12224f36a21SVolodymyr Sapsai requires cplusplus 12324f36a21SVolodymyr Sapsai 12424f36a21SVolodymyr Sapsai umbrella "llvm/DebugInfo/DWARF" 12524f36a21SVolodymyr Sapsai module * { export * } 12624f36a21SVolodymyr Sapsai} 12724f36a21SVolodymyr Sapsai 12824f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo_PDB { 12924f36a21SVolodymyr Sapsai requires cplusplus 13024f36a21SVolodymyr Sapsai 13124f36a21SVolodymyr Sapsai umbrella "llvm/DebugInfo/PDB" 13224f36a21SVolodymyr Sapsai module * { export * } 13324f36a21SVolodymyr Sapsai 13424f36a21SVolodymyr Sapsai // Separate out this subdirectory; it's an optional component that depends on 13524f36a21SVolodymyr Sapsai // a separate library which might not be available. 13624f36a21SVolodymyr Sapsai // 13724f36a21SVolodymyr Sapsai // FIXME: There should be a better way to specify this. 13824f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIADataStream.h" 13924f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h" 14024f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h" 14124f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h" 14224f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h" 14324f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h" 14424f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h" 14524f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h" 14624f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumTables.h" 14724f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAError.h" 14824f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAFrameData.h" 14924f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h" 15024f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIALineNumber.h" 15124f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIARawSymbol.h" 15224f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIASectionContrib.h" 15324f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIASession.h" 15424f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIASourceFile.h" 15524f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIASupport.h" 15624f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIATable.h" 15724f36a21SVolodymyr Sapsai exclude header "llvm/DebugInfo/PDB/DIA/DIAUtils.h" 15824f36a21SVolodymyr Sapsai} 15924f36a21SVolodymyr Sapsai 16024f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo_PDB_DIA { 16124f36a21SVolodymyr Sapsai requires cplusplus 16224f36a21SVolodymyr Sapsai 16324f36a21SVolodymyr Sapsai umbrella "llvm/DebugInfo/PDB/DIA" 16424f36a21SVolodymyr Sapsai module * { export * } 16524f36a21SVolodymyr Sapsai} 16624f36a21SVolodymyr Sapsai 16724f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo_MSF { 16824f36a21SVolodymyr Sapsai requires cplusplus 16924f36a21SVolodymyr Sapsai 17024f36a21SVolodymyr Sapsai umbrella "llvm/DebugInfo/MSF" 17124f36a21SVolodymyr Sapsai module * { export * } 17224f36a21SVolodymyr Sapsai} 17324f36a21SVolodymyr Sapsai 17424f36a21SVolodymyr Sapsaimodule LLVM_DebugInfo_CodeView { 17524f36a21SVolodymyr Sapsai requires cplusplus 17624f36a21SVolodymyr Sapsai 17724f36a21SVolodymyr Sapsai umbrella "llvm/DebugInfo/CodeView" 17824f36a21SVolodymyr Sapsai module * { export * } 17924f36a21SVolodymyr Sapsai 18024f36a21SVolodymyr Sapsai // These are intended for (repeated) textual inclusion. 18124f36a21SVolodymyr Sapsai textual header "llvm/DebugInfo/CodeView/CodeViewRegisters.def" 18224f36a21SVolodymyr Sapsai textual header "llvm/DebugInfo/CodeView/CodeViewTypes.def" 18324f36a21SVolodymyr Sapsai textual header "llvm/DebugInfo/CodeView/CodeViewSymbols.def" 18424f36a21SVolodymyr Sapsai} 18524f36a21SVolodymyr Sapsai 18624f36a21SVolodymyr Sapsaimodule LLVM_DWARFLinker { 18724f36a21SVolodymyr Sapsai requires cplusplus 18824f36a21SVolodymyr Sapsai 18924f36a21SVolodymyr Sapsai umbrella "llvm/DWARFLinker" 19024f36a21SVolodymyr Sapsai module * { export * } 19124f36a21SVolodymyr Sapsai} 19224f36a21SVolodymyr Sapsai 19324f36a21SVolodymyr Sapsaimodule LLVM_ExecutionEngine { 19424f36a21SVolodymyr Sapsai requires cplusplus 19524f36a21SVolodymyr Sapsai 19624f36a21SVolodymyr Sapsai umbrella "llvm/ExecutionEngine" 19724f36a21SVolodymyr Sapsai module * { export * } 19824f36a21SVolodymyr Sapsai 19924f36a21SVolodymyr Sapsai // Exclude this; it's an optional component of the ExecutionEngine. 20024f36a21SVolodymyr Sapsai exclude header "llvm/ExecutionEngine/OProfileWrapper.h" 20124f36a21SVolodymyr Sapsai 20224f36a21SVolodymyr Sapsai // Exclude these; they're intended to be included into only a single 20324f36a21SVolodymyr Sapsai // translation unit (or none) and aren't part of this module. 20424f36a21SVolodymyr Sapsai exclude header "llvm/ExecutionEngine/MCJIT.h" 20524f36a21SVolodymyr Sapsai exclude header "llvm/ExecutionEngine/Interpreter.h" 20624f36a21SVolodymyr Sapsai 20724f36a21SVolodymyr Sapsai // Exclude headers from LLVM_OrcSupport. 20824f36a21SVolodymyr Sapsai exclude header "llvm/ExecutionEngine/Orc/Shared/OrcError.h" 20924f36a21SVolodymyr Sapsai} 21024f36a21SVolodymyr Sapsai 21124f36a21SVolodymyr Sapsaimodule LLVM_FileCheck { 21224f36a21SVolodymyr Sapsai requires cplusplus 21324f36a21SVolodymyr Sapsai 21424f36a21SVolodymyr Sapsai umbrella "llvm/FileCheck" 21524f36a21SVolodymyr Sapsai module * { export * } 21624f36a21SVolodymyr Sapsai} 21724f36a21SVolodymyr Sapsai 21824f36a21SVolodymyr Sapsaimodule LLVM_Frontend_OpenMP { 21924f36a21SVolodymyr Sapsai requires cplusplus 22024f36a21SVolodymyr Sapsai 22124f36a21SVolodymyr Sapsai umbrella "llvm/Frontend/OpenMP" 22224f36a21SVolodymyr Sapsai module * { export * } 22324f36a21SVolodymyr Sapsai 22424f36a21SVolodymyr Sapsai exclude header "llvm/Frontend/OpenMP/OMPKinds.def" 22524f36a21SVolodymyr Sapsai} 22624f36a21SVolodymyr Sapsai 22724f36a21SVolodymyr Sapsai// Orc utilities that don't depend only on Support (not ExecutionEngine or 22824f36a21SVolodymyr Sapsai// IR). This is a workaround for ExecutionEngine's broken layering, and will 22924f36a21SVolodymyr Sapsai// be removed in the future. 23024f36a21SVolodymyr Sapsaimodule LLVM_OrcSupport { 23124f36a21SVolodymyr Sapsai requires cplusplus 23224f36a21SVolodymyr Sapsai 23324f36a21SVolodymyr Sapsai header "llvm/ExecutionEngine/Orc/Shared/OrcError.h" 23424f36a21SVolodymyr Sapsai 23524f36a21SVolodymyr Sapsai export * 23624f36a21SVolodymyr Sapsai} 23724f36a21SVolodymyr Sapsai 23824f36a21SVolodymyr Sapsaimodule LLVM_Pass { 23924f36a21SVolodymyr Sapsai module Pass { 24024f36a21SVolodymyr Sapsai // PassSupport.h and PassAnalysisSupport.h are made available only through 24124f36a21SVolodymyr Sapsai // Pass.h. 24224f36a21SVolodymyr Sapsai header "llvm/Pass.h" 24324f36a21SVolodymyr Sapsai textual header "llvm/PassSupport.h" 24424f36a21SVolodymyr Sapsai textual header "llvm/PassAnalysisSupport.h" 24524f36a21SVolodymyr Sapsai export * 24624f36a21SVolodymyr Sapsai } 24724f36a21SVolodymyr Sapsai 24824f36a21SVolodymyr Sapsai module PassRegistry { header "llvm/PassRegistry.h" export * } 24924f36a21SVolodymyr Sapsai module InitializePasses { header "llvm/InitializePasses.h" export * } 25024f36a21SVolodymyr Sapsai} 25124f36a21SVolodymyr Sapsai 25224f36a21SVolodymyr Sapsaimodule LLVM_IR { 25324f36a21SVolodymyr Sapsai requires cplusplus 25424f36a21SVolodymyr Sapsai 25524f36a21SVolodymyr Sapsai umbrella "llvm/IR" 25624f36a21SVolodymyr Sapsai module * { export * } 25724f36a21SVolodymyr Sapsai 25824f36a21SVolodymyr Sapsai extern module LLVM_Extern_IR_Attributes_Gen "module.extern.modulemap" 25924f36a21SVolodymyr Sapsai extern module LLVM_Extern_IR_Intrinsics_Gen "module.extern.modulemap" 26024f36a21SVolodymyr Sapsai extern module LLVM_Extern_IR_Intrinsics_Enum "module.extern.modulemap" 26124f36a21SVolodymyr Sapsai 26224f36a21SVolodymyr Sapsai // These are intended for (repeated) textual inclusion. 26324f36a21SVolodymyr Sapsai textual header "llvm/IR/ConstrainedOps.def" 26424f36a21SVolodymyr Sapsai textual header "llvm/IR/DebugInfoFlags.def" 26524f36a21SVolodymyr Sapsai textual header "llvm/IR/Instruction.def" 26624f36a21SVolodymyr Sapsai textual header "llvm/IR/Metadata.def" 26724f36a21SVolodymyr Sapsai textual header "llvm/IR/FixedMetadataKinds.def" 26824f36a21SVolodymyr Sapsai textual header "llvm/IR/Value.def" 26924f36a21SVolodymyr Sapsai textual header "llvm/IR/VPIntrinsics.def" 27024f36a21SVolodymyr Sapsai textual header "llvm/IR/RuntimeLibcalls.def" 27124f36a21SVolodymyr Sapsai} 27224f36a21SVolodymyr Sapsai 27324f36a21SVolodymyr Sapsaimodule LLVM_IRReader { 27424f36a21SVolodymyr Sapsai requires cplusplus 27524f36a21SVolodymyr Sapsai umbrella "llvm/IRReader" 27624f36a21SVolodymyr Sapsai module * { export * } 27724f36a21SVolodymyr Sapsai} 27824f36a21SVolodymyr Sapsai 27924f36a21SVolodymyr Sapsaimodule LLVM_LineEditor { 28024f36a21SVolodymyr Sapsai requires cplusplus 28124f36a21SVolodymyr Sapsai umbrella "llvm/LineEditor" 28224f36a21SVolodymyr Sapsai module * { export * } 28324f36a21SVolodymyr Sapsai} 28424f36a21SVolodymyr Sapsai 28524f36a21SVolodymyr Sapsaimodule LLVM_LTO { 28624f36a21SVolodymyr Sapsai requires cplusplus 28724f36a21SVolodymyr Sapsai umbrella "llvm/LTO" 28824f36a21SVolodymyr Sapsai module * { export * } 28924f36a21SVolodymyr Sapsai} 29024f36a21SVolodymyr Sapsai 29124f36a21SVolodymyr Sapsaimodule LLVM_MC { 29224f36a21SVolodymyr Sapsai requires cplusplus 29324f36a21SVolodymyr Sapsai 29424f36a21SVolodymyr Sapsai umbrella "llvm/MC" 29524f36a21SVolodymyr Sapsai module * { export * } 29624f36a21SVolodymyr Sapsai} 29724f36a21SVolodymyr Sapsai 29824f36a21SVolodymyr Sapsaimodule LLVM_Object { 29924f36a21SVolodymyr Sapsai requires cplusplus 30024f36a21SVolodymyr Sapsai umbrella "llvm/Object" 30124f36a21SVolodymyr Sapsai module * { export * } 30224f36a21SVolodymyr Sapsai} 30324f36a21SVolodymyr Sapsai 30424f36a21SVolodymyr Sapsaimodule LLVM_Option { 30524f36a21SVolodymyr Sapsai requires cplusplus 30624f36a21SVolodymyr Sapsai umbrella "llvm/Option" 30724f36a21SVolodymyr Sapsai module * { export * } 30824f36a21SVolodymyr Sapsai} 30924f36a21SVolodymyr Sapsai 31024f36a21SVolodymyr Sapsaimodule LLVM_ProfileData { 31124f36a21SVolodymyr Sapsai requires cplusplus 31224f36a21SVolodymyr Sapsai 31324f36a21SVolodymyr Sapsai umbrella "llvm/ProfileData" 31424f36a21SVolodymyr Sapsai module * { export * } 31524f36a21SVolodymyr Sapsai 31624f36a21SVolodymyr Sapsai textual header "llvm/ProfileData/InstrProfData.inc" 31724f36a21SVolodymyr Sapsai textual header "llvm/ProfileData/MemProfData.inc" 31824f36a21SVolodymyr Sapsai textual header "llvm/ProfileData/MIBEntryDef.inc" 31924f36a21SVolodymyr Sapsai} 32024f36a21SVolodymyr Sapsai 32124f36a21SVolodymyr Sapsai// FIXME: Mislayered? 32224f36a21SVolodymyr Sapsaimodule LLVM_Support_TargetRegistry { 32324f36a21SVolodymyr Sapsai requires cplusplus 32424f36a21SVolodymyr Sapsai header "llvm/Support/TargetRegistry.h" 32524f36a21SVolodymyr Sapsai export * 32624f36a21SVolodymyr Sapsai} 32724f36a21SVolodymyr Sapsai 32824f36a21SVolodymyr Sapsaimodule LLVM_TableGen { 32924f36a21SVolodymyr Sapsai requires cplusplus 33024f36a21SVolodymyr Sapsai umbrella "llvm/TableGen" 33124f36a21SVolodymyr Sapsai module * { export * } 33224f36a21SVolodymyr Sapsai} 33324f36a21SVolodymyr Sapsai 33424f36a21SVolodymyr Sapsaimodule LLVM_Transforms { 33524f36a21SVolodymyr Sapsai requires cplusplus 33624f36a21SVolodymyr Sapsai umbrella "llvm/Transforms" 33724f36a21SVolodymyr Sapsai 33824f36a21SVolodymyr Sapsai module * { export * } 33924f36a21SVolodymyr Sapsai 34024f36a21SVolodymyr Sapsai // Requires DEBUG_TYPE to be defined by including file. 34124f36a21SVolodymyr Sapsai exclude header "llvm/Transforms/Utils/InstructionWorklist.h" 34224f36a21SVolodymyr Sapsai} 34324f36a21SVolodymyr Sapsai 34424f36a21SVolodymyr Sapsaiextern module LLVM_Extern_Utils_DataTypes "module.extern.modulemap" 34524f36a21SVolodymyr Sapsai 34624f36a21SVolodymyr Sapsai// Build the module with the tablegen-generated files needed by the 34724f36a21SVolodymyr Sapsai// TargetParser module before building the TargetParser module itself. 34824f36a21SVolodymyr Sapsaimodule TargetParserGen { 3496c369cf9STomas Matheson module AArch64TargetParserDef { 350f33e2369SQiongsi Wu textual header "llvm/TargetParser/AArch64CPUFeatures.inc" 351*dcc141bcSCyndy Ishida textual header "llvm/TargetParser/AArch64FeatPriorities.inc" 3526c369cf9STomas Matheson header "llvm/TargetParser/AArch64TargetParser.h" 3536c369cf9STomas Matheson extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap" 3546c369cf9STomas Matheson export * 3556c369cf9STomas Matheson } 35624f36a21SVolodymyr Sapsai module RISCVTargetParserDef { 35724f36a21SVolodymyr Sapsai header "llvm/TargetParser/RISCVTargetParser.h" 35824f36a21SVolodymyr Sapsai extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap" 35924f36a21SVolodymyr Sapsai export * 36024f36a21SVolodymyr Sapsai } 36124f36a21SVolodymyr Sapsai} 36224f36a21SVolodymyr Sapsai 36324f36a21SVolodymyr Sapsai// A module covering ADT/ and Support/. These are intertwined and 36424f36a21SVolodymyr Sapsai// codependent, and notionally form a single module. 36524f36a21SVolodymyr Sapsaimodule LLVM_Utils { 36624f36a21SVolodymyr Sapsai module ADT { 36724f36a21SVolodymyr Sapsai requires cplusplus 36824f36a21SVolodymyr Sapsai 36924f36a21SVolodymyr Sapsai umbrella "llvm/ADT" 37024f36a21SVolodymyr Sapsai module * { export * } 37124f36a21SVolodymyr Sapsai } 37224f36a21SVolodymyr Sapsai 37324f36a21SVolodymyr Sapsai module Demangle { 37424f36a21SVolodymyr Sapsai requires cplusplus 37524f36a21SVolodymyr Sapsai 37624f36a21SVolodymyr Sapsai umbrella "llvm/Demangle" 37724f36a21SVolodymyr Sapsai module * { export * } 37824f36a21SVolodymyr Sapsai 37924f36a21SVolodymyr Sapsai textual header "llvm/Demangle/ItaniumNodes.def" 38024f36a21SVolodymyr Sapsai } 38124f36a21SVolodymyr Sapsai 38224f36a21SVolodymyr Sapsai module Support { 38324f36a21SVolodymyr Sapsai requires cplusplus 38424f36a21SVolodymyr Sapsai 38524f36a21SVolodymyr Sapsai umbrella "llvm/Support" 38624f36a21SVolodymyr Sapsai module * { export * } 38724f36a21SVolodymyr Sapsai 38824f36a21SVolodymyr Sapsai // Exclude this; it should only be used on Windows. 38924f36a21SVolodymyr Sapsai exclude header "llvm/Support/Windows/WindowsSupport.h" 39024f36a21SVolodymyr Sapsai 39124f36a21SVolodymyr Sapsai // Exclude these; they are fundamentally non-modular. 39224f36a21SVolodymyr Sapsai exclude header "llvm/Support/PluginLoader.h" 39324f36a21SVolodymyr Sapsai exclude header "llvm/Support/Solaris/sys/regset.h" 39424f36a21SVolodymyr Sapsai textual header "llvm/Support/TargetOpcodes.def" 39524f36a21SVolodymyr Sapsai 39624f36a21SVolodymyr Sapsai } 39724f36a21SVolodymyr Sapsai 39824f36a21SVolodymyr Sapsai module TargetParser { 39924f36a21SVolodymyr Sapsai requires cplusplus 40024f36a21SVolodymyr Sapsai 40124f36a21SVolodymyr Sapsai umbrella "llvm/TargetParser" 40224f36a21SVolodymyr Sapsai module * { export * } 40324f36a21SVolodymyr Sapsai 40424f36a21SVolodymyr Sapsai // These are intended for textual inclusion. 40524f36a21SVolodymyr Sapsai textual header "llvm/TargetParser/ARMTargetParser.def" 40624f36a21SVolodymyr Sapsai textual header "llvm/TargetParser/CSKYTargetParser.def" 40724f36a21SVolodymyr Sapsai textual header "llvm/TargetParser/X86TargetParser.def" 40824f36a21SVolodymyr Sapsai textual header "llvm/TargetParser/LoongArchTargetParser.def" 409649ecf88SAdrian Prantl textual header "llvm/TargetParser/PPCTargetParser.def" 41024f36a21SVolodymyr Sapsai } 41124f36a21SVolodymyr Sapsai 41224f36a21SVolodymyr Sapsai // This part of the module is usable from both C and C++ code. 41324f36a21SVolodymyr Sapsai module ConvertUTF { 41424f36a21SVolodymyr Sapsai header "llvm/Support/ConvertUTF.h" 41524f36a21SVolodymyr Sapsai export * 41624f36a21SVolodymyr Sapsai } 41724f36a21SVolodymyr Sapsai} 41824f36a21SVolodymyr Sapsai 41924f36a21SVolodymyr Sapsai// This is used for a $src == $build compilation. Otherwise we use 42024f36a21SVolodymyr Sapsai// LLVM_Support_DataTypes_Build, defined in a module map that is 42124f36a21SVolodymyr Sapsai// copied into the build area. 42224f36a21SVolodymyr Sapsaimodule LLVM_Support_DataTypes_Src { 42324f36a21SVolodymyr Sapsai header "llvm/Support/DataTypes.h" 42424f36a21SVolodymyr Sapsai export * 42524f36a21SVolodymyr Sapsai} 42624f36a21SVolodymyr Sapsai 42724f36a21SVolodymyr Sapsaimodule LLVM_WindowsManifest { 42824f36a21SVolodymyr Sapsai requires cplusplus 42924f36a21SVolodymyr Sapsai umbrella "llvm/WindowsManifest" 43024f36a21SVolodymyr Sapsai module * { export * } 43124f36a21SVolodymyr Sapsai} 432f33e2369SQiongsi Wu 433f33e2369SQiongsi Wumodule LLVM_SandboxIR { 434f33e2369SQiongsi Wu requires cplusplus 435f33e2369SQiongsi Wu 436f33e2369SQiongsi Wu umbrella "llvm/SandboxIR" 437f33e2369SQiongsi Wu module * { export * } 438f33e2369SQiongsi Wu 439f33e2369SQiongsi Wu textual header "llvm/SandboxIR/Values.def" 440f33e2369SQiongsi Wu} 441