1*fe013be4SDimitry Andricmodule LLVM_C { 2*fe013be4SDimitry Andric umbrella "llvm-c" 3*fe013be4SDimitry Andric module * { export * } 4*fe013be4SDimitry Andric} 5*fe013be4SDimitry Andric 6*fe013be4SDimitry Andricmodule LLVM_Analysis { 7*fe013be4SDimitry Andric requires cplusplus 8*fe013be4SDimitry Andric umbrella "llvm/Analysis" 9*fe013be4SDimitry Andric module * { export * } 10*fe013be4SDimitry Andric 11*fe013be4SDimitry Andric // This is intended for (repeated) textual inclusion. 12*fe013be4SDimitry Andric textual header "llvm/Analysis/ScalarFuncs.def" 13*fe013be4SDimitry Andric textual header "llvm/Analysis/TargetLibraryInfo.def" 14*fe013be4SDimitry Andric textual header "llvm/Analysis/VecFuncs.def" 15*fe013be4SDimitry Andric} 16*fe013be4SDimitry Andric 17*fe013be4SDimitry Andricmodule LLVM_AsmParser { 18*fe013be4SDimitry Andric requires cplusplus 19*fe013be4SDimitry Andric umbrella "llvm/AsmParser" 20*fe013be4SDimitry Andric module * { export * } 21*fe013be4SDimitry Andric} 22*fe013be4SDimitry Andric 23*fe013be4SDimitry Andricmodule LLVM_CodeGenTypes { 24*fe013be4SDimitry Andric requires cplusplus 25*fe013be4SDimitry Andric 26*fe013be4SDimitry Andric module LLT { 27*fe013be4SDimitry Andric header "llvm/CodeGen/LowLevelType.h" export * 28*fe013be4SDimitry Andric } 29*fe013be4SDimitry Andric module MVT { 30*fe013be4SDimitry Andric header "llvm/CodeGen/MachineValueType.h" export * 31*fe013be4SDimitry Andric extern module LLVM_Extern_CodeGenTypes_Gen "module.extern.modulemap" 32*fe013be4SDimitry Andric } 33*fe013be4SDimitry Andric} 34*fe013be4SDimitry Andric 35*fe013be4SDimitry Andric// A module covering CodeGen/ and Target/. These are intertwined 36*fe013be4SDimitry Andric// and codependent, and thus notionally form a single module. 37*fe013be4SDimitry Andricmodule LLVM_Backend { 38*fe013be4SDimitry Andric requires cplusplus 39*fe013be4SDimitry Andric 40*fe013be4SDimitry Andric module CodeGen { 41*fe013be4SDimitry Andric umbrella "llvm/CodeGen" 42*fe013be4SDimitry Andric module * { export * } 43*fe013be4SDimitry Andric 44*fe013be4SDimitry Andric // Exclude these; they're intended to be included into only a single 45*fe013be4SDimitry Andric // translation unit (or none) and aren't part of this module. 46*fe013be4SDimitry Andric exclude header "llvm/CodeGen/LinkAllAsmWriterComponents.h" 47*fe013be4SDimitry Andric exclude header "llvm/CodeGen/LinkAllCodegenComponents.h" 48*fe013be4SDimitry Andric 49*fe013be4SDimitry Andric exclude header "llvm/CodeGen/CodeGenPassBuilder.h" 50*fe013be4SDimitry Andric 51*fe013be4SDimitry Andric // These are intended for (repeated) textual inclusion. 52*fe013be4SDimitry Andric textual header "llvm/CodeGen/DIEValue.def" 53*fe013be4SDimitry Andric textual header "llvm/CodeGen/MachinePassRegistry.def" 54*fe013be4SDimitry Andric } 55*fe013be4SDimitry Andric} 56*fe013be4SDimitry Andric 57*fe013be4SDimitry Andric// FIXME: Make this as a submodule of LLVM_Backend again. 58*fe013be4SDimitry Andric// Doing so causes a linker error in clang-format. 59*fe013be4SDimitry Andricmodule LLVM_Backend_Target { 60*fe013be4SDimitry Andric umbrella "llvm/Target" 61*fe013be4SDimitry Andric module * { export * } 62*fe013be4SDimitry Andric} 63*fe013be4SDimitry Andric 64*fe013be4SDimitry Andricmodule LLVM_Bitcode { 65*fe013be4SDimitry Andric requires cplusplus 66*fe013be4SDimitry Andric umbrella "llvm/Bitcode" 67*fe013be4SDimitry Andric module * { export * } 68*fe013be4SDimitry Andric} 69*fe013be4SDimitry Andric 70*fe013be4SDimitry Andricmodule LLVM_Bitstream { 71*fe013be4SDimitry Andric requires cplusplus 72*fe013be4SDimitry Andric umbrella "llvm/Bitstream" 73*fe013be4SDimitry Andric module * { export * } 74*fe013be4SDimitry Andric} 75*fe013be4SDimitry Andric 76*fe013be4SDimitry Andricmodule LLVM_BinaryFormat { 77*fe013be4SDimitry Andric requires cplusplus 78*fe013be4SDimitry Andric umbrella "llvm/BinaryFormat" module * { export * } 79*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/Dwarf.def" 80*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/DXContainerConstants.def" 81*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/DynamicTags.def" 82*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/MachO.def" 83*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/MinidumpConstants.def" 84*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/Swift.def" 85*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/AArch64.def" 86*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/AMDGPU.def" 87*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/ARM.def" 88*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/ARC.def" 89*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/AVR.def" 90*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/BPF.def" 91*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/CSKY.def" 92*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/Hexagon.def" 93*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/i386.def" 94*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/Lanai.def" 95*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/LoongArch.def" 96*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/M68k.def" 97*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/Mips.def" 98*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/MSP430.def" 99*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/PowerPC64.def" 100*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/PowerPC.def" 101*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/RISCV.def" 102*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/Sparc.def" 103*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/SystemZ.def" 104*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/VE.def" 105*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/x86_64.def" 106*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/ELFRelocs/Xtensa.def" 107*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/WasmRelocs.def" 108*fe013be4SDimitry Andric textual header "llvm/BinaryFormat/MsgPack.def" 109*fe013be4SDimitry Andric} 110*fe013be4SDimitry Andric 111*fe013be4SDimitry Andricmodule LLVM_Config { 112*fe013be4SDimitry Andric requires cplusplus 113*fe013be4SDimitry Andric umbrella "llvm/Config" 114*fe013be4SDimitry Andric extern module LLVM_Extern_Config_Def "module.extern.modulemap" 115*fe013be4SDimitry Andric module * { export * } 116*fe013be4SDimitry Andric} 117*fe013be4SDimitry Andric 118*fe013be4SDimitry Andricmodule LLVM_DebugInfo { 119*fe013be4SDimitry Andric requires cplusplus 120*fe013be4SDimitry Andric module DIContext { header "llvm/DebugInfo/DIContext.h" export * } 121*fe013be4SDimitry Andric} 122*fe013be4SDimitry Andric 123*fe013be4SDimitry Andricmodule LLVM_DebugInfo_DWARF { 124*fe013be4SDimitry Andric requires cplusplus 125*fe013be4SDimitry Andric 126*fe013be4SDimitry Andric umbrella "llvm/DebugInfo/DWARF" 127*fe013be4SDimitry Andric module * { export * } 128*fe013be4SDimitry Andric} 129*fe013be4SDimitry Andric 130*fe013be4SDimitry Andricmodule LLVM_DebugInfo_PDB { 131*fe013be4SDimitry Andric requires cplusplus 132*fe013be4SDimitry Andric 133*fe013be4SDimitry Andric umbrella "llvm/DebugInfo/PDB" 134*fe013be4SDimitry Andric module * { export * } 135*fe013be4SDimitry Andric 136*fe013be4SDimitry Andric // Separate out this subdirectory; it's an optional component that depends on 137*fe013be4SDimitry Andric // a separate library which might not be available. 138*fe013be4SDimitry Andric // 139*fe013be4SDimitry Andric // FIXME: There should be a better way to specify this. 140*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIADataStream.h" 141*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h" 142*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h" 143*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h" 144*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h" 145*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h" 146*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h" 147*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h" 148*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAEnumTables.h" 149*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAError.h" 150*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAFrameData.h" 151*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h" 152*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIALineNumber.h" 153*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIARawSymbol.h" 154*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIASectionContrib.h" 155*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIASession.h" 156*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIASourceFile.h" 157*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIASupport.h" 158*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIATable.h" 159*fe013be4SDimitry Andric exclude header "llvm/DebugInfo/PDB/DIA/DIAUtils.h" 160*fe013be4SDimitry Andric} 161*fe013be4SDimitry Andric 162*fe013be4SDimitry Andricmodule LLVM_DebugInfo_PDB_DIA { 163*fe013be4SDimitry Andric requires cplusplus 164*fe013be4SDimitry Andric 165*fe013be4SDimitry Andric umbrella "llvm/DebugInfo/PDB/DIA" 166*fe013be4SDimitry Andric module * { export * } 167*fe013be4SDimitry Andric} 168*fe013be4SDimitry Andric 169*fe013be4SDimitry Andricmodule LLVM_DebugInfo_MSF { 170*fe013be4SDimitry Andric requires cplusplus 171*fe013be4SDimitry Andric 172*fe013be4SDimitry Andric umbrella "llvm/DebugInfo/MSF" 173*fe013be4SDimitry Andric module * { export * } 174*fe013be4SDimitry Andric} 175*fe013be4SDimitry Andric 176*fe013be4SDimitry Andricmodule LLVM_DebugInfo_CodeView { 177*fe013be4SDimitry Andric requires cplusplus 178*fe013be4SDimitry Andric 179*fe013be4SDimitry Andric umbrella "llvm/DebugInfo/CodeView" 180*fe013be4SDimitry Andric module * { export * } 181*fe013be4SDimitry Andric 182*fe013be4SDimitry Andric // These are intended for (repeated) textual inclusion. 183*fe013be4SDimitry Andric textual header "llvm/DebugInfo/CodeView/CodeViewRegisters.def" 184*fe013be4SDimitry Andric textual header "llvm/DebugInfo/CodeView/CodeViewTypes.def" 185*fe013be4SDimitry Andric textual header "llvm/DebugInfo/CodeView/CodeViewSymbols.def" 186*fe013be4SDimitry Andric} 187*fe013be4SDimitry Andric 188*fe013be4SDimitry Andricmodule LLVM_DWARFLinker { 189*fe013be4SDimitry Andric requires cplusplus 190*fe013be4SDimitry Andric 191*fe013be4SDimitry Andric umbrella "llvm/DWARFLinker" 192*fe013be4SDimitry Andric module * { export * } 193*fe013be4SDimitry Andric} 194*fe013be4SDimitry Andric 195*fe013be4SDimitry Andricmodule LLVM_ExecutionEngine { 196*fe013be4SDimitry Andric requires cplusplus 197*fe013be4SDimitry Andric 198*fe013be4SDimitry Andric umbrella "llvm/ExecutionEngine" 199*fe013be4SDimitry Andric module * { export * } 200*fe013be4SDimitry Andric 201*fe013be4SDimitry Andric // Exclude this; it's an optional component of the ExecutionEngine. 202*fe013be4SDimitry Andric exclude header "llvm/ExecutionEngine/OProfileWrapper.h" 203*fe013be4SDimitry Andric 204*fe013be4SDimitry Andric // Exclude these; they're intended to be included into only a single 205*fe013be4SDimitry Andric // translation unit (or none) and aren't part of this module. 206*fe013be4SDimitry Andric exclude header "llvm/ExecutionEngine/MCJIT.h" 207*fe013be4SDimitry Andric exclude header "llvm/ExecutionEngine/Interpreter.h" 208*fe013be4SDimitry Andric 209*fe013be4SDimitry Andric // Exclude headers from LLVM_OrcSupport. 210*fe013be4SDimitry Andric exclude header "llvm/ExecutionEngine/Orc/Shared/OrcError.h" 211*fe013be4SDimitry Andric} 212*fe013be4SDimitry Andric 213*fe013be4SDimitry Andricmodule LLVM_FileCheck { 214*fe013be4SDimitry Andric requires cplusplus 215*fe013be4SDimitry Andric 216*fe013be4SDimitry Andric umbrella "llvm/FileCheck" 217*fe013be4SDimitry Andric module * { export * } 218*fe013be4SDimitry Andric} 219*fe013be4SDimitry Andric 220*fe013be4SDimitry Andricmodule LLVM_Frontend_OpenMP { 221*fe013be4SDimitry Andric requires cplusplus 222*fe013be4SDimitry Andric 223*fe013be4SDimitry Andric umbrella "llvm/Frontend/OpenMP" 224*fe013be4SDimitry Andric module * { export * } 225*fe013be4SDimitry Andric 226*fe013be4SDimitry Andric exclude header "llvm/Frontend/OpenMP/OMPKinds.def" 227*fe013be4SDimitry Andric} 228*fe013be4SDimitry Andric 229*fe013be4SDimitry Andric// Orc utilities that don't depend only on Support (not ExecutionEngine or 230*fe013be4SDimitry Andric// IR). This is a workaround for ExecutionEngine's broken layering, and will 231*fe013be4SDimitry Andric// be removed in the future. 232*fe013be4SDimitry Andricmodule LLVM_OrcSupport { 233*fe013be4SDimitry Andric requires cplusplus 234*fe013be4SDimitry Andric 235*fe013be4SDimitry Andric header "llvm/ExecutionEngine/Orc/Shared/OrcError.h" 236*fe013be4SDimitry Andric 237*fe013be4SDimitry Andric export * 238*fe013be4SDimitry Andric} 239*fe013be4SDimitry Andric 240*fe013be4SDimitry Andricmodule LLVM_Pass { 241*fe013be4SDimitry Andric module Pass { 242*fe013be4SDimitry Andric // PassSupport.h and PassAnalysisSupport.h are made available only through 243*fe013be4SDimitry Andric // Pass.h. 244*fe013be4SDimitry Andric header "llvm/Pass.h" 245*fe013be4SDimitry Andric textual header "llvm/PassSupport.h" 246*fe013be4SDimitry Andric textual header "llvm/PassAnalysisSupport.h" 247*fe013be4SDimitry Andric export * 248*fe013be4SDimitry Andric } 249*fe013be4SDimitry Andric 250*fe013be4SDimitry Andric module PassRegistry { header "llvm/PassRegistry.h" export * } 251*fe013be4SDimitry Andric module InitializePasses { header "llvm/InitializePasses.h" export * } 252*fe013be4SDimitry Andric} 253*fe013be4SDimitry Andric 254*fe013be4SDimitry Andricmodule LLVM_IR { 255*fe013be4SDimitry Andric requires cplusplus 256*fe013be4SDimitry Andric 257*fe013be4SDimitry Andric umbrella "llvm/IR" 258*fe013be4SDimitry Andric module * { export * } 259*fe013be4SDimitry Andric 260*fe013be4SDimitry Andric extern module LLVM_Extern_IR_Attributes_Gen "module.extern.modulemap" 261*fe013be4SDimitry Andric extern module LLVM_Extern_IR_Intrinsics_Gen "module.extern.modulemap" 262*fe013be4SDimitry Andric extern module LLVM_Extern_IR_Intrinsics_Enum "module.extern.modulemap" 263*fe013be4SDimitry Andric 264*fe013be4SDimitry Andric // These are intended for (repeated) textual inclusion. 265*fe013be4SDimitry Andric textual header "llvm/IR/ConstrainedOps.def" 266*fe013be4SDimitry Andric textual header "llvm/IR/DebugInfoFlags.def" 267*fe013be4SDimitry Andric textual header "llvm/IR/Instruction.def" 268*fe013be4SDimitry Andric textual header "llvm/IR/Metadata.def" 269*fe013be4SDimitry Andric textual header "llvm/IR/FixedMetadataKinds.def" 270*fe013be4SDimitry Andric textual header "llvm/IR/Value.def" 271*fe013be4SDimitry Andric textual header "llvm/IR/VPIntrinsics.def" 272*fe013be4SDimitry Andric textual header "llvm/IR/RuntimeLibcalls.def" 273*fe013be4SDimitry Andric} 274*fe013be4SDimitry Andric 275*fe013be4SDimitry Andricmodule LLVM_IRReader { 276*fe013be4SDimitry Andric requires cplusplus 277*fe013be4SDimitry Andric umbrella "llvm/IRReader" 278*fe013be4SDimitry Andric module * { export * } 279*fe013be4SDimitry Andric} 280*fe013be4SDimitry Andric 281*fe013be4SDimitry Andricmodule LLVM_LineEditor { 282*fe013be4SDimitry Andric requires cplusplus 283*fe013be4SDimitry Andric umbrella "llvm/LineEditor" 284*fe013be4SDimitry Andric module * { export * } 285*fe013be4SDimitry Andric} 286*fe013be4SDimitry Andric 287*fe013be4SDimitry Andricmodule LLVM_LTO { 288*fe013be4SDimitry Andric requires cplusplus 289*fe013be4SDimitry Andric umbrella "llvm/LTO" 290*fe013be4SDimitry Andric module * { export * } 291*fe013be4SDimitry Andric} 292*fe013be4SDimitry Andric 293*fe013be4SDimitry Andricmodule LLVM_MC { 294*fe013be4SDimitry Andric requires cplusplus 295*fe013be4SDimitry Andric 296*fe013be4SDimitry Andric umbrella "llvm/MC" 297*fe013be4SDimitry Andric module * { export * } 298*fe013be4SDimitry Andric} 299*fe013be4SDimitry Andric 300*fe013be4SDimitry Andricmodule LLVM_Object { 301*fe013be4SDimitry Andric requires cplusplus 302*fe013be4SDimitry Andric umbrella "llvm/Object" 303*fe013be4SDimitry Andric module * { export * } 304*fe013be4SDimitry Andric} 305*fe013be4SDimitry Andric 306*fe013be4SDimitry Andricmodule LLVM_Option { 307*fe013be4SDimitry Andric requires cplusplus 308*fe013be4SDimitry Andric umbrella "llvm/Option" 309*fe013be4SDimitry Andric module * { export * } 310*fe013be4SDimitry Andric} 311*fe013be4SDimitry Andric 312*fe013be4SDimitry Andricmodule LLVM_ProfileData { 313*fe013be4SDimitry Andric requires cplusplus 314*fe013be4SDimitry Andric 315*fe013be4SDimitry Andric umbrella "llvm/ProfileData" 316*fe013be4SDimitry Andric module * { export * } 317*fe013be4SDimitry Andric 318*fe013be4SDimitry Andric textual header "llvm/ProfileData/InstrProfData.inc" 319*fe013be4SDimitry Andric textual header "llvm/ProfileData/MemProfData.inc" 320*fe013be4SDimitry Andric textual header "llvm/ProfileData/MIBEntryDef.inc" 321*fe013be4SDimitry Andric} 322*fe013be4SDimitry Andric 323*fe013be4SDimitry Andric// FIXME: Mislayered? 324*fe013be4SDimitry Andricmodule LLVM_Support_TargetRegistry { 325*fe013be4SDimitry Andric requires cplusplus 326*fe013be4SDimitry Andric header "llvm/Support/TargetRegistry.h" 327*fe013be4SDimitry Andric export * 328*fe013be4SDimitry Andric} 329*fe013be4SDimitry Andric 330*fe013be4SDimitry Andricmodule LLVM_TableGen { 331*fe013be4SDimitry Andric requires cplusplus 332*fe013be4SDimitry Andric umbrella "llvm/TableGen" 333*fe013be4SDimitry Andric module * { export * } 334*fe013be4SDimitry Andric} 335*fe013be4SDimitry Andric 336*fe013be4SDimitry Andricmodule LLVM_Transforms { 337*fe013be4SDimitry Andric requires cplusplus 338*fe013be4SDimitry Andric umbrella "llvm/Transforms" 339*fe013be4SDimitry Andric 340*fe013be4SDimitry Andric module * { export * } 341*fe013be4SDimitry Andric 342*fe013be4SDimitry Andric // Requires DEBUG_TYPE to be defined by including file. 343*fe013be4SDimitry Andric exclude header "llvm/Transforms/Utils/InstructionWorklist.h" 344*fe013be4SDimitry Andric} 345*fe013be4SDimitry Andric 346*fe013be4SDimitry Andricextern module LLVM_Extern_Utils_DataTypes "module.extern.modulemap" 347*fe013be4SDimitry Andric 348*fe013be4SDimitry Andric// Build the module with the tablegen-generated files needed by the 349*fe013be4SDimitry Andric// TargetParser module before building the TargetParser module itself. 350*fe013be4SDimitry Andricmodule TargetParserGen { 351*fe013be4SDimitry Andric module RISCVTargetParserDef { 352*fe013be4SDimitry Andric header "llvm/TargetParser/RISCVTargetParser.h" 353*fe013be4SDimitry Andric extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap" 354*fe013be4SDimitry Andric export * 355*fe013be4SDimitry Andric } 356*fe013be4SDimitry Andric} 357*fe013be4SDimitry Andric 358*fe013be4SDimitry Andric// A module covering ADT/ and Support/. These are intertwined and 359*fe013be4SDimitry Andric// codependent, and notionally form a single module. 360*fe013be4SDimitry Andricmodule LLVM_Utils { 361*fe013be4SDimitry Andric module ADT { 362*fe013be4SDimitry Andric requires cplusplus 363*fe013be4SDimitry Andric 364*fe013be4SDimitry Andric umbrella "llvm/ADT" 365*fe013be4SDimitry Andric module * { export * } 366*fe013be4SDimitry Andric } 367*fe013be4SDimitry Andric 368*fe013be4SDimitry Andric module Demangle { 369*fe013be4SDimitry Andric requires cplusplus 370*fe013be4SDimitry Andric 371*fe013be4SDimitry Andric umbrella "llvm/Demangle" 372*fe013be4SDimitry Andric module * { export * } 373*fe013be4SDimitry Andric 374*fe013be4SDimitry Andric textual header "llvm/Demangle/ItaniumNodes.def" 375*fe013be4SDimitry Andric } 376*fe013be4SDimitry Andric 377*fe013be4SDimitry Andric module Support { 378*fe013be4SDimitry Andric requires cplusplus 379*fe013be4SDimitry Andric 380*fe013be4SDimitry Andric umbrella "llvm/Support" 381*fe013be4SDimitry Andric module * { export * } 382*fe013be4SDimitry Andric 383*fe013be4SDimitry Andric // Exclude this; it should only be used on Windows. 384*fe013be4SDimitry Andric exclude header "llvm/Support/Windows/WindowsSupport.h" 385*fe013be4SDimitry Andric 386*fe013be4SDimitry Andric // Exclude these; they are fundamentally non-modular. 387*fe013be4SDimitry Andric exclude header "llvm/Support/PluginLoader.h" 388*fe013be4SDimitry Andric exclude header "llvm/Support/Solaris/sys/regset.h" 389*fe013be4SDimitry Andric textual header "llvm/Support/TargetOpcodes.def" 390*fe013be4SDimitry Andric 391*fe013be4SDimitry Andric } 392*fe013be4SDimitry Andric 393*fe013be4SDimitry Andric module TargetParser { 394*fe013be4SDimitry Andric requires cplusplus 395*fe013be4SDimitry Andric 396*fe013be4SDimitry Andric umbrella "llvm/TargetParser" 397*fe013be4SDimitry Andric module * { export * } 398*fe013be4SDimitry Andric 399*fe013be4SDimitry Andric // These are intended for textual inclusion. 400*fe013be4SDimitry Andric textual header "llvm/TargetParser/ARMTargetParser.def" 401*fe013be4SDimitry Andric textual header "llvm/TargetParser/CSKYTargetParser.def" 402*fe013be4SDimitry Andric textual header "llvm/TargetParser/X86TargetParser.def" 403*fe013be4SDimitry Andric textual header "llvm/TargetParser/LoongArchTargetParser.def" 404*fe013be4SDimitry Andric } 405*fe013be4SDimitry Andric 406*fe013be4SDimitry Andric // This part of the module is usable from both C and C++ code. 407*fe013be4SDimitry Andric module ConvertUTF { 408*fe013be4SDimitry Andric header "llvm/Support/ConvertUTF.h" 409*fe013be4SDimitry Andric export * 410*fe013be4SDimitry Andric } 411*fe013be4SDimitry Andric} 412*fe013be4SDimitry Andric 413*fe013be4SDimitry Andric// This is used for a $src == $build compilation. Otherwise we use 414*fe013be4SDimitry Andric// LLVM_Support_DataTypes_Build, defined in a module map that is 415*fe013be4SDimitry Andric// copied into the build area. 416*fe013be4SDimitry Andricmodule LLVM_Support_DataTypes_Src { 417*fe013be4SDimitry Andric header "llvm/Support/DataTypes.h" 418*fe013be4SDimitry Andric export * 419*fe013be4SDimitry Andric} 420*fe013be4SDimitry Andric 421*fe013be4SDimitry Andricmodule LLVM_WindowsManifest { 422*fe013be4SDimitry Andric requires cplusplus 423*fe013be4SDimitry Andric umbrella "llvm/WindowsManifest" 424*fe013be4SDimitry Andric module * { export * } 425*fe013be4SDimitry Andric} 426