LLVM
23.0.0git
include
llvm
CodeGen
ReplaceWithVeclib.h
Go to the documentation of this file.
1
//===- ReplaceWithVeclib.h - Replace vector intrinsics with veclib calls --===//
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
// Replaces calls to LLVM vector intrinsics (i.e., calls to LLVM intrinsics
10
// with vector operands) with matching calls to functions from a vector
11
// library (e.g., libmvec, SVML) according to TargetLibraryInfo.
12
//
13
//===----------------------------------------------------------------------===//
14
#ifndef LLVM_CODEGEN_REPLACEWITHVECLIB_H
15
#define LLVM_CODEGEN_REPLACEWITHVECLIB_H
16
17
#include "
llvm/IR/PassManager.h
"
18
#include "
llvm/Pass.h
"
19
#include "
llvm/PassRegistry.h
"
20
#include "
llvm/Support/Compiler.h
"
21
22
namespace
llvm
{
23
class
Function
;
24
struct
ReplaceWithVeclib
:
public
PassInfoMixin
<ReplaceWithVeclib> {
25
LLVM_ABI
PreservedAnalyses
run
(
Function
&
F
,
FunctionAnalysisManager
&AM);
26
};
27
28
// Legacy pass
29
struct
LLVM_ABI
ReplaceWithVeclibLegacy
:
public
FunctionPass
{
30
static
char
ID
;
31
ReplaceWithVeclibLegacy
() :
FunctionPass
(
ID
) {}
32
void
getAnalysisUsage(
AnalysisUsage
&AU)
const override
;
33
bool
runOnFunction
(
Function
&
F
)
override
;
34
};
35
36
}
// End namespace llvm
37
#endif
// LLVM_CODEGEN_REPLACEWITHVECLIB_H
Compiler.h
LLVM_ABI
#define LLVM_ABI
Definition
Compiler.h:213
runOnFunction
static bool runOnFunction(Function &F, bool PostInlining)
Definition
EntryExitInstrumenter.cpp:103
PassManager.h
This header defines various interfaces for pass management in LLVM.
F
#define F(x, y, z)
Definition
MD5.cpp:54
PassRegistry.h
Pass.h
llvm::AnalysisUsage
Represent the analysis usage information of a pass.
Definition
PassAnalysisSupport.h:48
llvm::FunctionPass::FunctionPass
FunctionPass(char &pid)
Definition
Pass.h:316
llvm::Function
Definition
Function.h:64
llvm::PreservedAnalyses
A set of analyses that are preserved following a run of a transformation pass.
Definition
Analysis.h:112
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
Types.h:26
llvm::FunctionAnalysisManager
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
Definition
PassManager.h:563
llvm::PassInfoMixin
A CRTP mix-in to automatically provide informational APIs needed for passes.
Definition
PassManager.h:70
llvm::ReplaceWithVeclibLegacy::ReplaceWithVeclibLegacy
ReplaceWithVeclibLegacy()
Definition
ReplaceWithVeclib.h:31
llvm::ReplaceWithVeclibLegacy::ID
static char ID
Definition
ReplaceWithVeclib.h:30
llvm::ReplaceWithVeclib
Definition
ReplaceWithVeclib.h:24
llvm::ReplaceWithVeclib::run
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
Definition
ReplaceWithVeclib.cpp:230
Generated on
for LLVM by
1.14.0