| //===- Alpha.td - Describe the Alpha Target Machine --------*- tablegen -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // Get the target-independent interfaces which we are implementing... |
| // |
| include "llvm/Target/Target.td" |
| |
| //Alpha is little endian |
| |
| //===----------------------------------------------------------------------===// |
| // Subtarget Features |
| //===----------------------------------------------------------------------===// |
| |
| def FeatureCIX : SubtargetFeature<"cix", "HasCT", "true", |
| "Enable CIX extentions">; |
| |
| //===----------------------------------------------------------------------===// |
| // Register File Description |
| //===----------------------------------------------------------------------===// |
| |
| include "AlphaRegisterInfo.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Calling Convention Description |
| //===----------------------------------------------------------------------===// |
| |
| include "AlphaCallingConv.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Schedule Description |
| //===----------------------------------------------------------------------===// |
| |
| include "AlphaSchedule.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Instruction Descriptions |
| //===----------------------------------------------------------------------===// |
| |
| include "AlphaInstrInfo.td" |
| |
| def AlphaInstrInfo : InstrInfo; |
| |
| //===----------------------------------------------------------------------===// |
| // Alpha Processor Definitions |
| //===----------------------------------------------------------------------===// |
| |
| def : Processor<"generic", Alpha21264Itineraries, []>; |
| def : Processor<"ev6" , Alpha21264Itineraries, []>; |
| def : Processor<"ev67" , Alpha21264Itineraries, [FeatureCIX]>; |
| |
| //===----------------------------------------------------------------------===// |
| // The Alpha Target |
| //===----------------------------------------------------------------------===// |
| |
| |
| def Alpha : Target { |
| // Pull in Instruction Info: |
| let InstructionSet = AlphaInstrInfo; |
| } |