PPC.h revision 327952
1//===--- PPC.h - PPC-specific Tool Helpers ----------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_PPC_H 11#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_PPC_H 12 13#include "clang/Driver/Driver.h" 14#include "llvm/ADT/StringRef.h" 15#include "llvm/Option/Option.h" 16#include <string> 17#include <vector> 18 19namespace clang { 20namespace driver { 21namespace tools { 22namespace ppc { 23 24bool hasPPCAbiArg(const llvm::opt::ArgList &Args, const char *Value); 25 26enum class FloatABI { 27 Invalid, 28 Soft, 29 Hard, 30}; 31 32FloatABI getPPCFloatABI(const Driver &D, const llvm::opt::ArgList &Args); 33 34std::string getPPCTargetCPU(const llvm::opt::ArgList &Args); 35const char *getPPCAsmModeForCPU(StringRef Name); 36 37void getPPCTargetFeatures(const Driver &D, const llvm::Triple &Triple, 38 const llvm::opt::ArgList &Args, 39 std::vector<llvm::StringRef> &Features); 40 41} // end namespace ppc 42} // end namespace target 43} // end namespace driver 44} // end namespace clang 45 46#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_ARCH_PPC_H 47