X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2Fmodule.modulemap;h=163cbc3df8651ff0840324b2e74b60c92606136e;hb=18a05df2133a01f38d14641e3a60fdea839c836d;hp=4108c2e7e5ff66cf2cca4ee14e06b3af06d88842;hpb=84c5f9d0fcf9a9e35649f53ef22b1e34733e1103;p=oota-llvm.git diff --git a/include/llvm/module.modulemap b/include/llvm/module.modulemap index 4108c2e7e5f..163cbc3df86 100644 --- a/include/llvm/module.modulemap +++ b/include/llvm/module.modulemap @@ -2,7 +2,12 @@ module LLVM_Analysis { requires cplusplus 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" } module LLVM_AsmParser { requires cplusplus umbrella "AsmParser" module * { export * } } @@ -40,7 +45,48 @@ module LLVM_Backend { module LLVM_Bitcode { requires cplusplus umbrella "Bitcode" module * { export * } } module LLVM_Config { requires cplusplus umbrella "Config" module * { export * } } -module LLVM_DebugInfo { requires cplusplus umbrella "DebugInfo" module * { export * } } + +module LLVM_DebugInfo { + requires cplusplus + module DIContext { header "DebugInfo/DIContext.h" export * } +} + +module LLVM_DebugInfo_DWARF { + requires cplusplus + + umbrella "DebugInfo/DWARF" + module * { export * } +} + +module LLVM_DebugInfo_PDB { + requires cplusplus + + umbrella "DebugInfo/PDB" + module * { export * } + + // Separate out this subdirectory; it's an optional component that depends on + // a separate library which might not be available. + // + // FIXME: There should be a better way to specify this. + exclude header "DebugInfo/PDB/DIA/DIADataStream.h" + exclude header "DebugInfo/PDB/DIA/DIAEnumDebugStreams.h" + exclude header "DebugInfo/PDB/DIA/DIAEnumLineNumbers.h" + exclude header "DebugInfo/PDB/DIA/DIAEnumSourceFiles.h" + exclude header "DebugInfo/PDB/DIA/DIAEnumSymbols.h" + exclude header "DebugInfo/PDB/DIA/DIALineNumber.h" + exclude header "DebugInfo/PDB/DIA/DIARawSymbol.h" + exclude header "DebugInfo/PDB/DIA/DIASession.h" + exclude header "DebugInfo/PDB/DIA/DIASourceFile.h" + exclude header "DebugInfo/PDB/DIA/DIASupport.h" +} + +module LLVM_DebugInfo_PDB_DIA { + requires cplusplus + + umbrella "DebugInfo/PDB/DIA" + module * { export * } +} + module LLVM_ExecutionEngine { requires cplusplus @@ -55,6 +101,7 @@ module LLVM_ExecutionEngine { exclude header "ExecutionEngine/JIT.h" exclude header "ExecutionEngine/MCJIT.h" exclude header "ExecutionEngine/Interpreter.h" + exclude header "ExecutionEngine/OrcMCJITReplacement.h" } module LLVM_IR { @@ -70,26 +117,10 @@ module LLVM_IR { umbrella "IR" module * { export * } - // We cannot have llvm/PassManager.h and llvm/IR/PassManager.h in the same TU, - // so we can't include llvm/IR/PassManager.h in the IR module. - exclude header "IR/PassManager.h" - exclude header "IR/LegacyPassManager.h" - - // Exclude this; it's intended for (repeated) textual inclusion. - exclude header "IR/Instruction.def" -} - -module LLVM_LegacyPassManager { - requires cplusplus - module CompatInterface { header "PassManager.h" export * } - module Implementation { header "IR/LegacyPassManager.h" export * } -} - -module LLVM_IR_PassManager { - requires cplusplus - // FIXME PR19358: This doesn't work! conflict LLVM_LegacyPassManager, "cannot use legacy pass manager and new pass manager in same file" - header "IR/PassManager.h" - export * + // These are intended for (repeated) textual inclusion. + textual header "IR/DebugInfoFlags.def" + textual header "IR/Instruction.def" + textual header "IR/Metadata.def" } module LLVM_IRReader { requires cplusplus umbrella "IRReader" module * { export * } } @@ -108,9 +139,6 @@ module LLVM_MC { umbrella "MC" module * { export * } - // FIXME: Excluded due to mislayering. - exclude header "MC/MCAnalysis/MCObjectSymbolizer.h" - // Exclude this; it's fundamentally non-modular. exclude header "MC/MCTargetOptionsCommandFlags.h" } @@ -119,8 +147,6 @@ module LLVM_Object { requires cplusplus umbrella "Object" module * { export * } - - module LLVM_MC_MCAnalysis_MCObjectSymbolizer { header "MC/MCAnalysis/MCObjectSymbolizer.h" export * } } module LLVM_Option { requires cplusplus umbrella "Option" module * { export * } } @@ -157,9 +183,6 @@ module LLVM_Utils { // 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/Debug.h" - // Exclude this; it's fundamentally non-modular. exclude header "Support/PluginLoader.h" @@ -169,6 +192,19 @@ module LLVM_Utils { // FIXME: Mislayered? exclude header "Support/TargetRegistry.h" + + // These are intended for textual inclusion. + textual header "Support/Dwarf.def" + textual header "Support/ELFRelocs/AArch64.def" + textual header "Support/ELFRelocs/ARM.def" + textual header "Support/ELFRelocs/Hexagon.def" + textual header "Support/ELFRelocs/i386.def" + textual header "Support/ELFRelocs/Mips.def" + textual header "Support/ELFRelocs/PowerPC64.def" + textual header "Support/ELFRelocs/PowerPC.def" + textual header "Support/ELFRelocs/Sparc.def" + textual header "Support/ELFRelocs/SystemZ.def" + textual header "Support/ELFRelocs/x86_64.def" } }