brintos

brintos / llvm-project-archived public Read only

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