Teach the pic16 target to recognize pic16-*-* triples.
[oota-llvm.git] / lib / Target / PIC16 / TargetInfo / PIC16TargetInfo.cpp
index 454f4259ff3f00a1e21d2ddd0acbe062ac71603f..f1bdb1210fc60233229f0fa6164bd4fe7215f92a 100644 (file)
@@ -7,48 +7,16 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "PIC16.h"
 #include "llvm/Module.h"
 #include "llvm/Target/TargetRegistry.h"
 using namespace llvm;
 
-Target ThePIC16Target;
-
-static unsigned PIC16_JITMatchQuality() {
-  return 0;
-}
-
-static unsigned PIC16_TripleMatchQuality(const std::string &TT) {
-  return 0;
-}
-
-static unsigned PIC16_ModuleMatchQuality(const Module &M) {
-  return 0;
-}
-
-Target TheCooperTarget;
-
-static unsigned Cooper_JITMatchQuality() {
-  return 0;
-}
-
-static unsigned Cooper_TripleMatchQuality(const std::string &TT) {
-  return 0;
-}
-
-static unsigned Cooper_ModuleMatchQuality(const Module &M) {
-  return 0;
-}
+Target llvm::ThePIC16Target, llvm::TheCooperTarget;
 
 extern "C" void LLVMInitializePIC16TargetInfo() { 
-  TargetRegistry::RegisterTarget(ThePIC16Target, "pic16",
-                                  "PIC16 14-bit [experimental]",
-                                  &PIC16_TripleMatchQuality,
-                                  &PIC16_ModuleMatchQuality,
-                                  &PIC16_JITMatchQuality);
+  RegisterTarget<Triple::pic16> X(ThePIC16Target, "pic16",
+                                  "PIC16 14-bit [experimental]");
 
-  TargetRegistry::RegisterTarget(TheCooperTarget, "cooper",    
-                                  "PIC16 Cooper [experimental]",
-                                  &Cooper_TripleMatchQuality,
-                                  &Cooper_ModuleMatchQuality,
-                                  &Cooper_JITMatchQuality);
+  RegisterTarget<> Y(TheCooperTarget, "cooper", "PIC16 Cooper [experimental]");
 }