Factor commonality in triple match routines into helper template for registering
classes, and migrate existing targets over.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77126 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp b/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
index 451a864..75200ab 100644
--- a/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
+++ b/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
@@ -14,15 +14,6 @@
 
 Target llvm::TheSparcTarget;
 
-static unsigned Sparc_TripleMatchQuality(const std::string &TT) {
-  if (TT.size() >= 6 && std::string(TT.begin(), TT.begin()+6) == "sparc-")
-    return 20;
-
-  return 0;
-}
-
 extern "C" void LLVMInitializeSparcTargetInfo() { 
-  TargetRegistry::RegisterTarget(TheSparcTarget, "sparc",
-                                  "Sparc",
-                                  &Sparc_TripleMatchQuality);
+  RegisterTarget<Triple::sparc> (TheSparcTarget, "sparc", "Sparc");
 }