================
@@ -843,6 +843,44 @@ getOutputStream(CompilerInstance &ci, llvm::StringRef 
inFile,
   llvm_unreachable("Invalid action!");
 }
 
+static std::unique_ptr<llvm::TargetLibraryInfoImpl>
+createTLII(llvm::Triple &targetTriple, const CodeGenOptions &codeGenOpts) {
+  auto tlii = std::make_unique<llvm::TargetLibraryInfoImpl>(targetTriple);
+  assert(tlii && "Failed to create TargetLibraryInfo");
+
+  using VecLib = llvm::TargetLibraryInfoImpl::VectorLibrary;
+  VecLib vecLib = VecLib::NoLibrary;
+  switch (codeGenOpts.getVecLib()) {
+  case CodeGenOptions::VectorLibrary::Accelerate:
+    vecLib = VecLib::Accelerate;
+    break;
+  case CodeGenOptions::VectorLibrary::LIBMVEC:
+    vecLib = VecLib::LIBMVEC_X86;
+    break;
+  case CodeGenOptions::VectorLibrary::MASSV:
+    vecLib = VecLib::MASSV;
+    break;
+  case CodeGenOptions::VectorLibrary::SVML:
+    vecLib = VecLib::SVML;
+    break;
+  case CodeGenOptions::VectorLibrary::SLEEF:
+    vecLib = VecLib::SLEEFGNUABI;
+    break;
+  case CodeGenOptions::VectorLibrary::Darwin_libsystem_m:
+    vecLib = VecLib::DarwinLibSystemM;
+    break;
+  case CodeGenOptions::VectorLibrary::ArmPL:
+    vecLib = VecLib::ArmPL;
+    break;
+  case CodeGenOptions::VectorLibrary::NoLibrary:
+    vecLib = VecLib::NoLibrary;
+    break;
+  }
+
+  tlii->addVectorizableFunctionsFromVecLib(vecLib, targetTriple);
+  return tlii;
+}
----------------
kiranchandramohan wrote:
Can this code be moved to `llvm/lib/Frontend/Driver` and shared with Clang?

https://github.com/llvm/llvm-project/pull/71734
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to