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/CBackend/TargetInfo/CBackendTargetInfo.cpp b/lib/Target/CBackend/TargetInfo/CBackendTargetInfo.cpp
index c30c84d..f7e8ff2 100644
--- a/lib/Target/CBackend/TargetInfo/CBackendTargetInfo.cpp
+++ b/lib/Target/CBackend/TargetInfo/CBackendTargetInfo.cpp
@@ -14,14 +14,6 @@
 
 Target llvm::TheCBackendTarget;
 
-static unsigned CBackend_TripleMatchQuality(const std::string &TT) {
-  // This class always works, but must be requested explicitly on 
-  // llc command line.
-  return 0;
-}
-
 extern "C" void LLVMInitializeCBackendTargetInfo() { 
-  TargetRegistry::RegisterTarget(TheCBackendTarget, "c",
-                                  "C backend",
-                                  &CBackend_TripleMatchQuality);
+  RegisterTarget<> X(TheCBackendTarget, "c", "C backend");
 }