1317019Sdim//===--- X86.h - X86-specific 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_X86_H
10317019Sdim#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_X86_H
11317019Sdim
12317019Sdim#include "clang/Driver/Driver.h"
13317019Sdim#include "llvm/ADT/StringRef.h"
14317019Sdim#include "llvm/ADT/Triple.h"
15317019Sdim#include "llvm/Option/Option.h"
16317019Sdim#include <string>
17317019Sdim#include <vector>
18317019Sdim
19317019Sdimnamespace clang {
20317019Sdimnamespace driver {
21317019Sdimnamespace tools {
22317019Sdimnamespace x86 {
23317019Sdim
24317019Sdimconst char *getX86TargetCPU(const llvm::opt::ArgList &Args,
25317019Sdim                            const llvm::Triple &Triple);
26317019Sdim
27317019Sdimvoid getX86TargetFeatures(const Driver &D, const llvm::Triple &Triple,
28317019Sdim                          const llvm::opt::ArgList &Args,
29317019Sdim                          std::vector<llvm::StringRef> &Features);
30317019Sdim
31317019Sdim} // end namespace x86
32317019Sdim} // end namespace target
33317019Sdim} // end namespace driver
34317019Sdim} // end namespace clang
35317019Sdim
36317019Sdim#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_X86_H
37