LLVM 19.0.0git
CodeGenOptions.h
Go to the documentation of this file.
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
37 VectorLibrary Veclib);
38
39} // end namespace llvm::driver
40
41#endif
Implementation of the target library information.
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
VectorLibrary
Vector library option used with -fveclib=.
TargetLibraryInfoImpl * createTLII(llvm::Triple &TargetTriple, VectorLibrary Veclib)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18