Move target independent td files from lib/Target/ to include/llvm/Target so they...
[oota-llvm.git] / lib / Target / PIC16 / PIC16.td
1 //===- PIC16.td - Describe the PIC16 Target Machine -----------*- tblgen -*-==//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source 
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 // This is the top level entry point for the PIC16 target.
10 //===----------------------------------------------------------------------===//
11
12 //===----------------------------------------------------------------------===//
13 // Target-independent interfaces
14 //===----------------------------------------------------------------------===//
15
16 include "llvm/Target/Target.td"
17
18 include "PIC16RegisterInfo.td"
19 include "PIC16InstrInfo.td"
20
21 //===----------------------------------------------------------------------===//
22 // Subtarget Features. 
23 //===----------------------------------------------------------------------===//
24 def FeatureCooper : SubtargetFeature<"cooper", "IsCooper", "true",
25                                      "PIC16 Cooper ISA Support">;
26
27 //===----------------------------------------------------------------------===//
28 // PIC16 supported processors.
29 //===----------------------------------------------------------------------===//
30
31 def : Processor<"generic", NoItineraries, []>;
32 def : Processor<"cooper", NoItineraries, [FeatureCooper]>;
33
34
35 def PIC16InstrInfo : InstrInfo {} 
36
37 def PIC16 : Target {
38   let InstructionSet = PIC16InstrInfo;
39 }
40