[clang] [llvm] [polly] [IR] Store Triple in Module (NFC) (PR #129868)

Yingwei Zheng via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 5 04:36:47 PST 2025


================
@@ -515,12 +515,13 @@ static void splitCodeGen(const Config &C, TargetMachine *TM,
 static Expected<const Target *> initAndLookupTarget(const Config &C,
                                                     Module &Mod) {
   if (!C.OverrideTriple.empty())
-    Mod.setTargetTriple(C.OverrideTriple);
+    Mod.setTargetTriple(Triple(C.OverrideTriple));
   else if (Mod.getTargetTriple().empty())
-    Mod.setTargetTriple(C.DefaultTriple);
+    Mod.setTargetTriple(Triple(C.DefaultTriple));
 
   std::string Msg;
-  const Target *T = TargetRegistry::lookupTarget(Mod.getTargetTriple(), Msg);
+  const Target *T =
+      TargetRegistry::lookupTarget(Mod.getTargetTriple().str(), Msg);
----------------
dtcxzyw wrote:

Can we add a new helper to avoid parsing of Triple?
```
static const Target *lookupTarget(const Triple &TT, std::string &Error);
// or
static const Target *lookupTarget(Triple::ArchType Arch, std::string &Error);
```


https://github.com/llvm/llvm-project/pull/129868


More information about the cfe-commits mailing list