1//===--- SystemZ.h - SystemZ-specific 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_SYSTEMZ_H 10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SYSTEMZ_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 systemz { 22 23enum class FloatABI { 24 Soft, 25 Hard, 26}; 27 28FloatABI getSystemZFloatABI(const Driver &D, const llvm::opt::ArgList &Args); 29 30std::string getSystemZTargetCPU(const llvm::opt::ArgList &Args); 31 32void getSystemZTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args, 33 std::vector<llvm::StringRef> &Features); 34 35} // end namespace systemz 36} // end namespace target 37} // end namespace driver 38} // end namespace clang 39 40#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_SYSTEMZ_H 41