@@ -220,7 +220,9 @@ IRGenModule::IRGenModule(IRGenerator &irgen,
220220 ModuleName, PrivateDiscriminator)),
221221 Module(*ClangCodeGen->GetModule ()),
222222 DataLayout(irgen.getClangDataLayoutString()),
223- Triple(irgen.getEffectiveClangTriple()), TargetMachine(std::move(target)),
223+ Triple(irgen.getEffectiveClangTriple()),
224+ VariantTriple(irgen.getEffectiveClangVariantTriple()),
225+ TargetMachine(std::move(target)),
224226 silConv(irgen.SIL), OutputFilename(OutputFilename),
225227 MainInputFilenameForDebugInfo(MainInputFilenameForDebugInfo),
226228 TargetInfo(SwiftTargetInfo::get(*this )), DebugInfo(nullptr ),
@@ -2229,6 +2231,13 @@ llvm::Triple IRGenerator::getEffectiveClangTriple() {
22292231 return llvm::Triple (CI->getTargetInfo ().getTargetOpts ().Triple );
22302232}
22312233
2234+ llvm::Triple IRGenerator::getEffectiveClangVariantTriple () {
2235+ auto CI = static_cast <ClangImporter *>(
2236+ &*SIL.getASTContext ().getClangModuleLoader ());
2237+ assert (CI && " no clang module loader" );
2238+ return llvm::Triple (CI->getTargetInfo ().getTargetOpts ().DarwinTargetVariantTriple );
2239+ }
2240+
22322241const llvm::StringRef IRGenerator::getClangDataLayoutString () {
22332242 return static_cast <ClangImporter *>(
22342243 SIL.getASTContext ().getClangModuleLoader ())
0 commit comments