Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/Passes/PassPluginRegistry.h
- This file was added.
//===- llvm/Passes/PassPluginRegistry.h -------------------------*- C++ -*-===// | |||||
// | |||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |||||
// See https://llvm.org/LICENSE.txt for license information. | |||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |||||
// | |||||
//===----------------------------------------------------------------------===// | |||||
// | |||||
// Registry of pass plugins used by opt/clang | |||||
// | |||||
//===----------------------------------------------------------------------===// | |||||
#ifndef LLVM_PASSES_PASSPLUGINREGISTRY_H | |||||
#define LLVM_PASSES_PASSPLUGINREGISTRY_H | |||||
#include "llvm/ADT/SmallVector.h" | |||||
#include "llvm/Passes/PassPlugin.h" | |||||
#include "llvm/Support/Registry.h" | |||||
namespace llvm { | |||||
/// The pass plugin registry. | |||||
struct PassPluginRegistry { | |||||
static const SmallVector<PassPlugin> &getPlugins(); | |||||
static void addPlugin(PassPlugin &&PP); | |||||
private: | |||||
SmallVector<PassPlugin> Plugins; | |||||
}; | |||||
} // namespace llvm | |||||
#endif // LLVM_PASSES_PASSPLUGINREGISTRY_H |