1//===-- CSKY.td - Describe the CSKY Target Machine ---------*- tablegen -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9include "llvm/Target/Target.td" 10 11//===----------------------------------------------------------------------===// 12// Registers, calling conventions, instruction descriptions. 13//===----------------------------------------------------------------------===// 14 15include "CSKYRegisterInfo.td" 16include "CSKYInstrInfo.td" 17 18//===----------------------------------------------------------------------===// 19// CSKY processors supported. 20//===----------------------------------------------------------------------===// 21 22def : ProcessorModel<"generic", NoSchedModel, []>; 23 24//===----------------------------------------------------------------------===// 25// Define the CSKY target. 26//===----------------------------------------------------------------------===// 27 28def CSKYInstrInfo : InstrInfo; 29 30 31def CSKYAsmParser : AsmParser { 32 let ShouldEmitMatchRegisterAltName = 1; 33 let AllowDuplicateRegisterNames = 1; 34} 35 36def CSKYAsmWriter : AsmWriter { 37 int PassSubtarget = 1; 38} 39 40def CSKY : Target { 41 let InstructionSet = CSKYInstrInfo; 42 let AssemblyParsers = [CSKYAsmParser]; 43 let AssemblyWriters = [CSKYAsmWriter]; 44 let AllowRegisterRenaming = 1; 45} 46