LLVM
23.0.0git
lib
Transforms
Vectorize
SandboxVectorizer
SandboxVectorizerPassBuilder.cpp
Go to the documentation of this file.
1
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.h
"
2
3
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
"
4
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
"
5
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
"
6
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
"
7
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
"
8
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
"
9
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
"
10
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
"
11
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
"
12
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h
"
13
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysAccept.h
"
14
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysRevert.h
"
15
#include "
llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
"
16
17
namespace
llvm::sandboxir
{
18
19
std::unique_ptr<sandboxir::RegionPass>
20
SandboxVectorizerPassBuilder::createRegionPass
(
StringRef
Name,
StringRef
Args,
21
StringRef
AuxArg) {
22
#define REGION_PASS(NAME, CLASS_NAME) \
23
if (Name == NAME) { \
24
assert(Args.empty() && "Unexpected arguments for pass '" NAME "'."); \
25
assert(AuxArg.empty() && "TODO: Add RegionPass support for AuxArge);"); \
26
return std::make_unique<CLASS_NAME>(); \
27
}
28
// TODO: Support region passes with params.
29
#include "Passes/PassRegistry.def"
30
return
nullptr
;
31
}
32
33
std::unique_ptr<sandboxir::FunctionPass>
34
SandboxVectorizerPassBuilder::createFunctionPass
(
StringRef
Name,
StringRef
Args,
35
StringRef
AuxArg) {
36
#define FUNCTION_PASS_WITH_PARAMS(NAME, CLASS_NAME) \
37
if (Name == NAME) \
38
return std::make_unique<CLASS_NAME>(Args, AuxArg);
39
#include "Passes/PassRegistry.def"
40
return
nullptr
;
41
}
42
43
}
// namespace llvm::sandboxir
BottomUpVec.h
LoadStoreVec.h
NullPass.h
PackReuse.h
PrintInstructionCount.h
PrintRegion.h
RegionsFromBBs.h
RegionsFromMetadata.h
SandboxVectorizerPassBuilder.h
SeedCollection.h
TransactionAcceptOrRevert.h
TransactionAlwaysAccept.h
TransactionAlwaysRevert.h
TransactionSave.h
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition
StringRef.h:55
llvm::sandboxir::SandboxVectorizerPassBuilder::createRegionPass
static std::unique_ptr< RegionPass > createRegionPass(StringRef Name, StringRef Args, StringRef AuxArg)
Definition
SandboxVectorizerPassBuilder.cpp:20
llvm::sandboxir::SandboxVectorizerPassBuilder::createFunctionPass
static std::unique_ptr< FunctionPass > createFunctionPass(StringRef Name, StringRef Args, StringRef AuxArg)
Definition
SandboxVectorizerPassBuilder.cpp:34
llvm::sandboxir
Definition
Argument.h:15
Generated on
for LLVM by
1.14.0