Path: blob/main/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.h
35294 views
//===--- Sparc.h - Sparc-specific Tool Helpers ------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H9#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H1011#include "clang/Driver/Driver.h"12#include "llvm/ADT/StringRef.h"13#include "llvm/Option/Option.h"14#include <string>15#include <vector>1617namespace clang {18namespace driver {19namespace tools {20namespace sparc {2122enum class FloatABI {23Invalid,24Soft,25Hard,26};2728FloatABI getSparcFloatABI(const Driver &D, const llvm::opt::ArgList &Args);2930std::string getSparcTargetCPU(const Driver &D, const llvm::opt::ArgList &Args,31const llvm::Triple &Triple);3233void getSparcTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args,34std::vector<llvm::StringRef> &Features);35const char *getSparcAsmModeForCPU(llvm::StringRef Name,36const llvm::Triple &Triple);3738} // end namespace sparc39} // end namespace target40} // end namespace driver41} // end namespace clang4243#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SPARC_H444546