Change allowsUnalignedMemoryAccesses to take type argument since some targets
[llvm/avr.git] / lib / Target / PIC16 / PIC16.td
blobb2b9b1cd171ee7697fb2d30cc8e7d7e4340c4085
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 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
13 // Target-independent interfaces
14 //===----------------------------------------------------------------------===//
16 include "llvm/Target/Target.td"
18 include "PIC16RegisterInfo.td"
19 include "PIC16InstrInfo.td"
21 //===----------------------------------------------------------------------===//
22 // Subtarget Features. 
23 //===----------------------------------------------------------------------===//
24 def FeatureCooper : SubtargetFeature<"cooper", "IsCooper", "true",
25                                      "PIC16 Cooper ISA Support">;
27 //===----------------------------------------------------------------------===//
28 // PIC16 supported processors.
29 //===----------------------------------------------------------------------===//
31 def : Processor<"generic", NoItineraries, []>;
32 def : Processor<"cooper", NoItineraries, [FeatureCooper]>;
35 def PIC16InstrInfo : InstrInfo {} 
37 def PIC16 : Target {
38   let InstructionSet = PIC16InstrInfo;