1//===--- MSP430.cpp - Implement MSP430 target feature support -------------===// 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// 9// This file implements MSP430 TargetInfo objects. 10// 11//===----------------------------------------------------------------------===// 12 13#include "MSP430.h" 14#include "clang/Basic/MacroBuilder.h" 15 16using namespace clang; 17using namespace clang::targets; 18 19const char *const MSP430TargetInfo::GCCRegNames[] = { 20 "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", 21 "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" 22}; 23 24ArrayRef<const char *> MSP430TargetInfo::getGCCRegNames() const { 25 return llvm::makeArrayRef(GCCRegNames); 26} 27 28void MSP430TargetInfo::getTargetDefines(const LangOptions &Opts, 29 MacroBuilder &Builder) const { 30 Builder.defineMacro("MSP430"); 31 Builder.defineMacro("__MSP430__"); 32 // FIXME: defines for different 'flavours' of MCU 33} 34