brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 8432b06 Raw
41 lines · cpp
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/NullPass.h"5#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h"6#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h"7#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h"8#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h"9#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h"10#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h"11#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h"12#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysAccept.h"13#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysRevert.h"14#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h"15 16namespace llvm::sandboxir {17 18std::unique_ptr<sandboxir::RegionPass>19SandboxVectorizerPassBuilder::createRegionPass(StringRef Name, StringRef Args) {20#define REGION_PASS(NAME, CLASS_NAME)                                          \21  if (Name == NAME) {                                                          \22    assert(Args.empty() && "Unexpected arguments for pass '" NAME "'.");       \23    return std::make_unique<CLASS_NAME>();                                     \24  }25// TODO: Support region passes with params.26#include "Passes/PassRegistry.def"27  return nullptr;28}29 30std::unique_ptr<sandboxir::FunctionPass>31SandboxVectorizerPassBuilder::createFunctionPass(StringRef Name,32                                                 StringRef Args) {33#define FUNCTION_PASS_WITH_PARAMS(NAME, CLASS_NAME)                            \34  if (Name == NAME)                                                            \35    return std::make_unique<CLASS_NAME>(Args);36#include "Passes/PassRegistry.def"37  return nullptr;38}39 40} // namespace llvm::sandboxir41