LLVM
22.0.0git
include
llvm
IR
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
12
namespace
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.
20
enum 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
35
extern
VectorLibrary
ClVectorLibrary
;
36
37
}
// namespace llvm
38
39
#endif
// LLVM_IR_SYSTEMLIBRARIES_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
AddressRanges.h:18
llvm::ClVectorLibrary
VectorLibrary ClVectorLibrary
Command line flag value for the vector math library to use.
Definition
SystemLibraries.cpp:14
llvm::VectorLibrary
VectorLibrary
List of known vector-functions libraries.
Definition
SystemLibraries.h:20
llvm::VectorLibrary::LIBMVEC
@ LIBMVEC
Definition
SystemLibraries.h:24
llvm::VectorLibrary::DarwinLibSystemM
@ DarwinLibSystemM
Definition
SystemLibraries.h:23
llvm::VectorLibrary::SVML
@ SVML
Definition
SystemLibraries.h:26
llvm::VectorLibrary::ArmPL
@ ArmPL
Definition
SystemLibraries.h:28
llvm::VectorLibrary::AMDLIBM
@ AMDLIBM
Definition
SystemLibraries.h:29
llvm::VectorLibrary::Accelerate
@ Accelerate
Definition
SystemLibraries.h:22
llvm::VectorLibrary::MASSV
@ MASSV
Definition
SystemLibraries.h:25
llvm::VectorLibrary::NoLibrary
@ NoLibrary
Definition
SystemLibraries.h:21
llvm::VectorLibrary::SLEEFGNUABI
@ SLEEFGNUABI
Definition
SystemLibraries.h:27
Generated on
for LLVM by
1.14.0