1//===--- CodeGenOptions.h ---------------------------------------*- 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// This file defines frontend codegen options common to clang and flang
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_FRONTEND_DRIVER_CODEGENOPTIONS_H
14#define LLVM_FRONTEND_DRIVER_CODEGENOPTIONS_H
15
16namespace llvm {
17class Triple;
18class TargetLibraryInfoImpl;
19} // namespace llvm
20
21namespace llvm::driver {
22
23/// Vector library option used with -fveclib=
24enum class VectorLibrary {
25 NoLibrary, // Don't use any vector library.
26 Accelerate, // Use the Accelerate framework.
27 LIBMVEC, // GLIBC vector math library.
28 MASSV, // IBM MASS vector library.
29 SVML, // Intel short vector math library.
30 SLEEF, // SLEEF SIMD Library for Evaluating Elementary Functions.
31 Darwin_libsystem_m, // Use Darwin's libsystem_m vector functions.
32 ArmPL, // Arm Performance Libraries.
33 AMDLIBM // AMD vector math library.
34};
35
36TargetLibraryInfoImpl *createTLII(llvm::Triple &TargetTriple,
37 VectorLibrary Veclib);
38
39} // end namespace llvm::driver
40
41#endif
42

source code of llvm/include/llvm/Frontend/Driver/CodeGenOptions.h