6 // FIXME: Why is this excluded?
7 exclude header "Analysis/BlockFrequencyInfoImpl.h"
9 // This is intended for (repeated) textual inclusion.
10 textual header "Analysis/TargetLibraryInfo.def"
13 module LLVM_AsmParser { requires cplusplus umbrella "AsmParser" module * { export * } }
15 // A module covering CodeGen/ and Target/. These are intertwined
16 // and codependent, and thus notionally form a single module.
24 // FIXME: Why is this excluded?
25 exclude header "CodeGen/MachineValueType.h"
27 // Exclude these; they're intended to be included into only a single
28 // translation unit (or none) and aren't part of this module.
29 exclude header "CodeGen/CommandFlags.h"
30 exclude header "CodeGen/LinkAllAsmWriterComponents.h"
31 exclude header "CodeGen/LinkAllCodegenComponents.h"
33 // These are intended for (repeated) textual inclusion.
34 textual header "CodeGen/DIEValue.def"
42 // FIXME: Where should this go?
43 module Analysis_BlockFrequencyInfoImpl {
44 header "Analysis/BlockFrequencyInfoImpl.h"
49 module LLVM_Bitcode { requires cplusplus umbrella "Bitcode" module * { export * } }
50 module LLVM_Config { requires cplusplus umbrella "Config" module * { export * } }
52 module LLVM_DebugInfo {
54 module DIContext { header "DebugInfo/DIContext.h" export * }
57 module LLVM_DebugInfo_DWARF {
60 umbrella "DebugInfo/DWARF"
64 module LLVM_DebugInfo_PDB {
67 umbrella "DebugInfo/PDB"
70 // Separate out this subdirectory; it's an optional component that depends on
71 // a separate library which might not be available.
73 // FIXME: There should be a better way to specify this.
74 exclude header "DebugInfo/PDB/DIA/DIADataStream.h"
75 exclude header "DebugInfo/PDB/DIA/DIAEnumDebugStreams.h"
76 exclude header "DebugInfo/PDB/DIA/DIAEnumLineNumbers.h"
77 exclude header "DebugInfo/PDB/DIA/DIAEnumSourceFiles.h"
78 exclude header "DebugInfo/PDB/DIA/DIAEnumSymbols.h"
79 exclude header "DebugInfo/PDB/DIA/DIALineNumber.h"
80 exclude header "DebugInfo/PDB/DIA/DIARawSymbol.h"
81 exclude header "DebugInfo/PDB/DIA/DIASession.h"
82 exclude header "DebugInfo/PDB/DIA/DIASourceFile.h"
83 exclude header "DebugInfo/PDB/DIA/DIASupport.h"
86 module LLVM_DebugInfo_PDB_DIA {
89 umbrella "DebugInfo/PDB/DIA"
93 module LLVM_ExecutionEngine {
96 umbrella "ExecutionEngine"
99 // Exclude this; it's an optional component of the ExecutionEngine.
100 exclude header "ExecutionEngine/OProfileWrapper.h"
102 // Exclude these; they're intended to be included into only a single
103 // translation unit (or none) and aren't part of this module.
104 exclude header "ExecutionEngine/JIT.h"
105 exclude header "ExecutionEngine/MCJIT.h"
106 exclude header "ExecutionEngine/Interpreter.h"
107 exclude header "ExecutionEngine/OrcMCJITReplacement.h"
113 // FIXME: Is this the right place for these?
114 module Pass { header "Pass.h" export * }
115 module PassSupport { header "PassSupport.h" export * }
116 module PassAnalysisSupport { header "PassAnalysisSupport.h" export * }
117 module PassRegistry { header "PassRegistry.h" export * }
118 module InitializePasses { header "InitializePasses.h" export * }
121 module * { export * }
123 // These are intended for (repeated) textual inclusion.
124 textual header "IR/DebugInfoFlags.def"
125 textual header "IR/Instruction.def"
126 textual header "IR/Metadata.def"
127 textual header "IR/Value.def"
130 module LLVM_IRReader { requires cplusplus umbrella "IRReader" module * { export * } }
131 module LLVM_LineEditor { requires cplusplus umbrella "LineEditor" module * { export * } }
132 module LLVM_LTO { requires cplusplus umbrella "LTO" module * { export * } }
137 // FIXME: Mislayered?
138 module Support_TargetRegistry {
139 header "Support/TargetRegistry.h"
144 module * { export * }
146 // Exclude this; it's fundamentally non-modular.
147 exclude header "MC/MCTargetOptionsCommandFlags.h"
153 module * { export * }
156 module LLVM_Option { requires cplusplus umbrella "Option" module * { export * } }
157 module LLVM_TableGen { requires cplusplus umbrella "TableGen" module * { export * } }
159 module LLVM_Transforms {
161 umbrella "Transforms"
162 module * { export * }
164 // FIXME: Excluded because it does bad things with the legacy pass manager.
165 exclude header "Transforms/IPO/PassManagerBuilder.h"
168 // A module covering ADT/ and Support/. These are intertwined and
169 // codependent, and notionally form a single module.
175 module * { export * }
182 module * { export * }
184 // Exclude this; it's only included on Solaris.
185 exclude header "Support/Solaris.h"
187 // Exclude this; it's only included on AIX and fundamentally non-modular.
188 exclude header "Support/AIXDataTypesFix.h"
190 // Exclude this; it's fundamentally non-modular.
191 exclude header "Support/PluginLoader.h"
193 // Exclude this; it's a weirdly-factored part of llvm-gcov and conflicts
194 // with the Analysis module (which also defines an llvm::GCOVOptions).
195 exclude header "Support/GCOV.h"
197 // FIXME: Mislayered?
198 exclude header "Support/TargetRegistry.h"
200 // These are intended for textual inclusion.
201 textual header "Support/Dwarf.def"
202 textual header "Support/ELFRelocs/AArch64.def"
203 textual header "Support/ELFRelocs/ARM.def"
204 textual header "Support/ELFRelocs/Hexagon.def"
205 textual header "Support/ELFRelocs/i386.def"
206 textual header "Support/ELFRelocs/Mips.def"
207 textual header "Support/ELFRelocs/PowerPC64.def"
208 textual header "Support/ELFRelocs/PowerPC.def"
209 textual header "Support/ELFRelocs/Sparc.def"
210 textual header "Support/ELFRelocs/SystemZ.def"
211 textual header "Support/ELFRelocs/x86_64.def"
215 module LLVM_CodeGen_MachineValueType {
217 header "CodeGen/MachineValueType.h"
221 // This is used for a $src == $build compilation. Otherwise we use
222 // LLVM_Support_DataTypes_Build, defined in a module map that is
223 // copied into the build area.
224 module LLVM_Support_DataTypes_Src {
225 header "llvm/Support/DataTypes.h"