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/Alpha/TargetInfo/AlphaTargetInfo.cpp b/lib/Target/Alpha/TargetInfo/AlphaTargetInfo.cpp
index 1e4db94..f7099b9 100644
--- a/lib/Target/Alpha/TargetInfo/AlphaTargetInfo.cpp
+++ b/lib/Target/Alpha/TargetInfo/AlphaTargetInfo.cpp
@@ -14,18 +14,7 @@
llvm::Target llvm::TheAlphaTarget;
-static unsigned Alpha_TripleMatchQuality(const std::string &TT) {
- // We strongly match "alpha*".
- if (TT.size() >= 5 && TT[0] == 'a' && TT[1] == 'l' && TT[2] == 'p' &&
- TT[3] == 'h' && TT[4] == 'a')
- return 20;
-
- return 0;
-}
-
extern "C" void LLVMInitializeAlphaTargetInfo() {
- TargetRegistry::RegisterTarget(TheAlphaTarget, "alpha",
- "Alpha [experimental]",
- &Alpha_TripleMatchQuality,
- /*HasJIT=*/true);
+ RegisterTarget<Triple::alpha, /*HasJIT=*/true>
+ X(TheAlphaTarget, "alpha", "Alpha [experimental]");
}