1 //===-- PIC16TargetInfo.cpp - PIC16 Target Implementation -----------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/Module.h"
11 #include "llvm/Target/TargetRegistry.h"
14 Target ThePIC16Target;
16 static unsigned PIC16_JITMatchQuality() {
20 static unsigned PIC16_TripleMatchQuality(const std::string &TT) {
24 static unsigned PIC16_ModuleMatchQuality(const Module &M) {
28 Target TheCooperTarget;
30 static unsigned Cooper_JITMatchQuality() {
34 static unsigned Cooper_TripleMatchQuality(const std::string &TT) {
38 static unsigned Cooper_ModuleMatchQuality(const Module &M) {
42 extern "C" void LLVMInitializePIC16TargetInfo() {
43 TargetRegistry::RegisterTarget(ThePIC16Target, "pic16",
44 "PIC16 14-bit [experimental]",
45 &PIC16_TripleMatchQuality,
46 &PIC16_ModuleMatchQuality,
47 &PIC16_JITMatchQuality);
49 TargetRegistry::RegisterTarget(TheCooperTarget, "cooper",
50 "PIC16 Cooper [experimental]",
51 &Cooper_TripleMatchQuality,
52 &Cooper_ModuleMatchQuality,
53 &Cooper_JITMatchQuality);