//===- SparcV9.td - Target Description for SparcV9 Target --*- tablegen -*-===// // // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // TableGen target description file for the SparcV9. This is currently used // primarily to generate part of the SparcV9CodeEmitter automatically. // //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Target-independent interfaces which we are implementing //===----------------------------------------------------------------------===// include "../Target.td" //===----------------------------------------------------------------------===// // Register File Description //===----------------------------------------------------------------------===// include "SparcV9RegisterInfo.td" //===----------------------------------------------------------------------===// // Instruction Descriptions //===----------------------------------------------------------------------===// include "SparcV9InstrInfo.td" def SparcV9InstrInfo : InstrInfo { let PHIInst = PHI; // Define how we want to layout our TargetSpecific information field. let TSFlagsFields = []; let TSFlagsShifts = []; } //===----------------------------------------------------------------------===// // Declare the target which we are implementing //===----------------------------------------------------------------------===// def SparcV9 : Target { // FIXME: Specify the callee saved registers. let CalleeSavedRegisters = []; // Pointers are 64-bits in size. let PointerType = i64; // Information about the instructions... let InstructionSet = SparcV9InstrInfo; }