1*12c85518Srobert //===--- LoongArch.h - LoongArch-specific Tool Helpers ----------*- C++ -*-===// 2*12c85518Srobert // 3*12c85518Srobert // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*12c85518Srobert // See https://llvm.org/LICENSE.txt for license information. 5*12c85518Srobert // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*12c85518Srobert // 7*12c85518Srobert //===----------------------------------------------------------------------===// 8*12c85518Srobert 9*12c85518Srobert #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_LOONGARCH_H 10*12c85518Srobert #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_LOONGARCH_H 11*12c85518Srobert 12*12c85518Srobert #include "clang/Driver/Driver.h" 13*12c85518Srobert #include "llvm/ADT/StringRef.h" 14*12c85518Srobert #include "llvm/Option/Option.h" 15*12c85518Srobert 16*12c85518Srobert namespace clang { 17*12c85518Srobert namespace driver { 18*12c85518Srobert namespace tools { 19*12c85518Srobert namespace loongarch { 20*12c85518Srobert void getLoongArchTargetFeatures(const Driver &D, const llvm::Triple &Triple, 21*12c85518Srobert const llvm::opt::ArgList &Args, 22*12c85518Srobert std::vector<llvm::StringRef> &Features); 23*12c85518Srobert 24*12c85518Srobert StringRef getLoongArchABI(const Driver &D, const llvm::opt::ArgList &Args, 25*12c85518Srobert const llvm::Triple &Triple); 26*12c85518Srobert } // end namespace loongarch 27*12c85518Srobert } // end namespace tools 28*12c85518Srobert } // end namespace driver 29*12c85518Srobert } // end namespace clang 30*12c85518Srobert 31*12c85518Srobert #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_LOONGARCH_H 32