1317019Sdim//===--- AArch64.h - AArch64-specific (not ARM) Tool Helpers ----*- C++ -*-===// 2317019Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6317019Sdim// 7317019Sdim//===----------------------------------------------------------------------===// 8317019Sdim 9317019Sdim#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_AARCH64_H 10317019Sdim#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_AARCH64_H 11317019Sdim 12317019Sdim#include "clang/Driver/Driver.h" 13317019Sdim#include "llvm/ADT/StringRef.h" 14317019Sdim#include "llvm/Option/Option.h" 15317019Sdim#include <string> 16317019Sdim#include <vector> 17317019Sdim 18317019Sdimnamespace clang { 19317019Sdimnamespace driver { 20317019Sdimnamespace tools { 21317019Sdimnamespace aarch64 { 22317019Sdim 23344779Sdimvoid getAArch64TargetFeatures(const Driver &D, const llvm::Triple &Triple, 24344779Sdim const llvm::opt::ArgList &Args, 25317019Sdim std::vector<llvm::StringRef> &Features); 26317019Sdim 27317019Sdimstd::string getAArch64TargetCPU(const llvm::opt::ArgList &Args, 28344779Sdim const llvm::Triple &Triple, llvm::opt::Arg *&A); 29317019Sdim 30317019Sdim} // end namespace aarch64 31317019Sdim} // end namespace target 32317019Sdim} // end namespace driver 33317019Sdim} // end namespace clang 34317019Sdim 35317019Sdim#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_AARCH64_H 36