summaryrefslogtreecommitdiff
path: root/include/llvm/module.modulemap
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/module.modulemap')
-rw-r--r--include/llvm/module.modulemap96
1 files changed, 78 insertions, 18 deletions
diff --git a/include/llvm/module.modulemap b/include/llvm/module.modulemap
index d74ada6faa619..cc1895011dc33 100644
--- a/include/llvm/module.modulemap
+++ b/include/llvm/module.modulemap
@@ -3,9 +3,6 @@ module LLVM_Analysis {
umbrella "Analysis"
module * { export * }
- // FIXME: Why is this excluded?
- exclude header "Analysis/BlockFrequencyInfoImpl.h"
-
// This is intended for (repeated) textual inclusion.
textual header "Analysis/TargetLibraryInfo.def"
}
@@ -37,12 +34,9 @@ module LLVM_Backend {
module Target {
umbrella "Target"
module * { export * }
- }
- // FIXME: Where should this go?
- module Analysis_BlockFrequencyInfoImpl {
- header "Analysis/BlockFrequencyInfoImpl.h"
- export *
+ // This is intended for (repeated) textual inclusion.
+ textual header "Target/TargetOpcodes.def"
}
}
@@ -90,6 +84,17 @@ module LLVM_DebugInfo_PDB_DIA {
module * { export * }
}
+module LLVM_DebugInfo_CodeView {
+ requires cplusplus
+
+ umbrella "DebugInfo/CodeView"
+ module * { export * }
+
+ // These are intended for (repeated) textual inclusion.
+ textual header "DebugInfo/CodeView/TypeRecords.def"
+ textual header "DebugInfo/CodeView/CVSymbolTypes.def"
+}
+
module LLVM_ExecutionEngine {
requires cplusplus
@@ -101,21 +106,64 @@ module LLVM_ExecutionEngine {
// 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 "ExecutionEngine/JIT.h"
exclude header "ExecutionEngine/MCJIT.h"
exclude header "ExecutionEngine/Interpreter.h"
exclude header "ExecutionEngine/OrcMCJITReplacement.h"
}
-module LLVM_IR {
- requires cplusplus
+module LLVM_Pass {
+ module Pass {
+ // PassSupport.h and PassAnalysisSupport.h are made available only through
+ // Pass.h.
+ header "Pass.h"
+ header "PassSupport.h"
+ header "PassAnalysisSupport.h"
+ export *
+ }
- // FIXME: Is this the right place for these?
- module Pass { header "Pass.h" export * }
- module PassSupport { header "PassSupport.h" export * }
- module PassAnalysisSupport { header "PassAnalysisSupport.h" export * }
module PassRegistry { header "PassRegistry.h" export * }
module InitializePasses { header "InitializePasses.h" export * }
+}
+
+module LLVM_intrinsic_gen {
+ requires cplusplus
+
+ // Delay building the modules containing dependencies to Attributes.h and
+ // Intrinsics.h because they need to be generated by tablegen first.
+
+ // Attributes.h
+ module IR_Argument { header "IR/Argument.h" export * }
+ module IR_Attributes { header "IR/Attributes.h" export * }
+ module IR_CallSite { header "IR/CallSite.h" export * }
+ module IR_ConstantFolder { header "IR/ConstantFolder.h" export * }
+ module IR_NoFolder { header "IR/NoFolder.h" export * }
+ module IR_Module { header "IR/Module.h" export * }
+ module IR_ModuleSummaryIndex { header "IR/ModuleSummaryIndex.h" export * }
+ module IR_Function { header "IR/Function.h" export * }
+ module IR_InstrTypes { header "IR/InstrTypes.h" export * }
+ module IR_Instructions { header "IR/Instructions.h" export * }
+
+
+ // Intrinsics.h
+ module IR_CFG { header "IR/CFG.h" export * }
+ module IR_ConstantRange { header "IR/ConstantRange.h" export * }
+ module IR_Dominators { header "IR/Dominators.h" export * }
+ module IR_IRBuilder { header "IR/IRBuilder.h" export * }
+ module IR_PassManager { header "IR/PassManager.h" export * }
+ module IR_PredIteratorCache { header "IR/PredIteratorCache.h" export * }
+ module IR_Verifier { header "IR/Verifier.h" export * }
+ module IR_InstIterator { header "IR/InstIterator.h" export * }
+ module IR_InstVisitor { header "IR/InstVisitor.h" export * }
+ module IR_Intrinsics { header "IR/Intrinsics.h" export * }
+ module IR_IntrinsicInst { header "IR/IntrinsicInst.h" export * }
+ module IR_PatternMatch { header "IR/PatternMatch.h" export * }
+ module IR_Statepoint { header "IR/Statepoint.h" export * }
+
+ export *
+}
+
+module LLVM_IR {
+ requires cplusplus
umbrella "IR"
module * { export * }
@@ -154,6 +202,16 @@ module LLVM_Object {
}
module LLVM_Option { requires cplusplus umbrella "Option" module * { export * } }
+
+module LLVM_ProfileData {
+ requires cplusplus
+
+ umbrella "ProfileData"
+ module * { export * }
+
+ textual header "ProfileData/InstrProfData.inc"
+}
+
module LLVM_TableGen { requires cplusplus umbrella "TableGen" module * { export * } }
module LLVM_Transforms {
@@ -184,9 +242,6 @@ module LLVM_Utils {
// Exclude this; it's only included on Solaris.
exclude header "Support/Solaris.h"
- // Exclude this; it's only included on AIX and fundamentally non-modular.
- exclude header "Support/AIXDataTypesFix.h"
-
// Exclude this; it's fundamentally non-modular.
exclude header "Support/PluginLoader.h"
@@ -195,12 +250,17 @@ module LLVM_Utils {
// These are intended for textual inclusion.
textual header "Support/ARMTargetParser.def"
+ textual header "Support/AArch64TargetParser.def"
textual header "Support/Dwarf.def"
+ textual header "Support/MachO.def"
textual header "Support/ELFRelocs/AArch64.def"
+ textual header "Support/ELFRelocs/AMDGPU.def"
textual header "Support/ELFRelocs/ARM.def"
textual header "Support/ELFRelocs/AVR.def"
+ textual header "Support/ELFRelocs/BPF.def"
textual header "Support/ELFRelocs/Hexagon.def"
textual header "Support/ELFRelocs/i386.def"
+ textual header "Support/ELFRelocs/Lanai.def"
textual header "Support/ELFRelocs/Mips.def"
textual header "Support/ELFRelocs/PowerPC64.def"
textual header "Support/ELFRelocs/PowerPC.def"