1//===--- AArch64.h - AArch64-specific (not ARM) 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_AARCH64_H 10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_AARCH64_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 aarch64 { 22 23void getAArch64TargetFeatures(const Driver &D, const llvm::Triple &Triple, 24 const llvm::opt::ArgList &Args, 25 std::vector<llvm::StringRef> &Features); 26 27std::string getAArch64TargetCPU(const llvm::opt::ArgList &Args, 28 const llvm::Triple &Triple, llvm::opt::Arg *&A); 29 30} // end namespace aarch64 31} // end namespace target 32} // end namespace driver 33} // end namespace clang 34 35#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_AARCH64_H 36