1//===--- Sparc.h - Sparc-specific Tool Helpers ----------------------*- C++ -*-===// 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#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 11 12#include "clang/Driver/Driver.h" 13#include "llvm/ADT/StringRef.h" 14#include "llvm/Option/Option.h" 15#include <string> 16#include <vector> 17 18namespace clang { 19namespace driver { 20namespace tools { 21namespace sparc { 22 23enum class FloatABI { 24 Invalid, 25 Soft, 26 Hard, 27}; 28 29FloatABI getSparcFloatABI(const Driver &D, const llvm::opt::ArgList &Args); 30 31void getSparcTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args, 32 std::vector<llvm::StringRef> &Features); 33const char *getSparcAsmModeForCPU(llvm::StringRef Name, 34 const llvm::Triple &Triple); 35 36} // end namespace sparc 37} // end namespace target 38} // end namespace driver 39} // end namespace clang 40 41#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H 42