LLVM 22.0.0git
SystemLibraries.h
Go to the documentation of this file.
1//===------------------------------------------------------------*- 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_IR_SYSTEMLIBRARIES_H
10#define LLVM_IR_SYSTEMLIBRARIES_H
11
12namespace llvm {
13/// List of known vector-functions libraries.
14///
15/// The vector-functions library defines, which functions are vectorizable
16/// and with which factor. The library can be specified by either frontend,
17/// or a commandline option, and then used by
18/// addVectorizableFunctionsFromVecLib for filling up the tables of
19/// vectorizable functions.
20enum class VectorLibrary {
21 NoLibrary, // Don't use any vector library.
22 Accelerate, // Use Accelerate framework.
23 DarwinLibSystemM, // Use Darwin's libsystem_m.
24 LIBMVEC, // GLIBC Vector Math library.
25 MASSV, // IBM MASS vector library.
26 SVML, // Intel short vector math library.
27 SLEEFGNUABI, // SLEEF - SIMD Library for Evaluating Elementary Functions.
28 ArmPL, // Arm Performance Libraries.
29 AMDLIBM // AMD Math Vector library.
30};
31
32/// Command line flag value for the vector math library to use
33///
34/// FIXME: This should come from a module flag, and not be mutually exclusive
36
37} // namespace llvm
38
39#endif // LLVM_IR_SYSTEMLIBRARIES_H
This is an optimization pass for GlobalISel generic memory operations.
VectorLibrary ClVectorLibrary
Command line flag value for the vector math library to use.
VectorLibrary
List of known vector-functions libraries.