blob: a7b7e6ed6036fbce67ffa1cde273478ad0e6de25 [file] [log] [blame]
Rafael Espindolaffdc24b2006-05-14 22:18:28 +00001//===- ARM.td - Describe the ARM Target Machine -----------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by the "Instituto Nokia de Tecnologia" and
6// is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10//
11//
12//===----------------------------------------------------------------------===//
13
14//===----------------------------------------------------------------------===//
15// Target-independent interfaces which we are implementing
16//===----------------------------------------------------------------------===//
17
18include "../Target.td"
19
20//===----------------------------------------------------------------------===//
21// Register File Description
22//===----------------------------------------------------------------------===//
23
24include "ARMRegisterInfo.td"
25
26//===----------------------------------------------------------------------===//
27// Instruction Descriptions
28//===----------------------------------------------------------------------===//
29
30include "ARMInstrInfo.td"
31
32def ARMInstrInfo : InstrInfo {
33 // Define how we want to layout our target-specific information field.
34 let TSFlagsFields = [];
35 let TSFlagsShifts = [];
36}
37
38//===----------------------------------------------------------------------===//
39// Declare the target which we are implementing
40//===----------------------------------------------------------------------===//
41
42def ARM : Target {
43 // Pointers are 32-bits in size.
44 let PointerType = i32;
45
46 // FIXME: Specify callee-saved registers
47 let CalleeSavedRegisters = [];
48
49 // Pull in Instruction Info:
50 let InstructionSet = ARMInstrInfo;
51}