summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachinePassRegistry.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen/MachinePassRegistry.h')
-rw-r--r--include/llvm/CodeGen/MachinePassRegistry.h37
1 files changed, 11 insertions, 26 deletions
diff --git a/include/llvm/CodeGen/MachinePassRegistry.h b/include/llvm/CodeGen/MachinePassRegistry.h
index db914b1f8bc71..3aba0bba7d1a3 100644
--- a/include/llvm/CodeGen/MachinePassRegistry.h
+++ b/include/llvm/CodeGen/MachinePassRegistry.h
@@ -1,4 +1,4 @@
-//===-- llvm/CodeGen/MachinePassRegistry.h ----------------------*- C++ -*-===//
+//===- llvm/CodeGen/MachinePassRegistry.h -----------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,13 +18,13 @@
#ifndef LLVM_CODEGEN_MACHINEPASSREGISTRY_H
#define LLVM_CODEGEN_MACHINEPASSREGISTRY_H
+#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/CommandLine.h"
namespace llvm {
-typedef void *(*MachinePassCtor)();
-
+using MachinePassCtor = void *(*)();
//===----------------------------------------------------------------------===//
///
@@ -34,36 +34,30 @@ typedef void *(*MachinePassCtor)();
//===----------------------------------------------------------------------===//
class MachinePassRegistryListener {
virtual void anchor();
+
public:
- MachinePassRegistryListener() {}
- virtual ~MachinePassRegistryListener() {}
+ MachinePassRegistryListener() = default;
+ virtual ~MachinePassRegistryListener() = default;
+
virtual void NotifyAdd(StringRef N, MachinePassCtor C, StringRef D) = 0;
virtual void NotifyRemove(StringRef N) = 0;
};
-
//===----------------------------------------------------------------------===//
///
/// MachinePassRegistryNode - Machine pass node stored in registration list.
///
//===----------------------------------------------------------------------===//
class MachinePassRegistryNode {
-
private:
-
- MachinePassRegistryNode *Next; // Next function pass in list.
+ MachinePassRegistryNode *Next = nullptr; // Next function pass in list.
StringRef Name; // Name of function pass.
StringRef Description; // Description string.
MachinePassCtor Ctor; // Function pass creator.
public:
-
MachinePassRegistryNode(const char *N, const char *D, MachinePassCtor C)
- : Next(nullptr)
- , Name(N)
- , Description(D)
- , Ctor(C)
- {}
+ : Name(N), Description(D), Ctor(C) {}
// Accessors
MachinePassRegistryNode *getNext() const { return Next; }
@@ -72,25 +66,20 @@ public:
StringRef getDescription() const { return Description; }
MachinePassCtor getCtor() const { return Ctor; }
void setNext(MachinePassRegistryNode *N) { Next = N; }
-
};
-
//===----------------------------------------------------------------------===//
///
/// MachinePassRegistry - Track the registration of machine passes.
///
//===----------------------------------------------------------------------===//
class MachinePassRegistry {
-
private:
-
MachinePassRegistryNode *List; // List of registry nodes.
MachinePassCtor Default; // Default function pass creator.
- MachinePassRegistryListener* Listener;// Listener for list adds are removes.
+ MachinePassRegistryListener *Listener; // Listener for list adds are removes.
public:
-
// NO CONSTRUCTOR - we don't want static constructor ordering to mess
// with the registry.
@@ -109,10 +98,8 @@ public:
/// Remove - Removes a function pass from the registration list.
///
void Remove(MachinePassRegistryNode *Node);
-
};
-
//===----------------------------------------------------------------------===//
///
/// RegisterPassParser class - Handle the addition of new machine passes.
@@ -142,7 +129,6 @@ public:
}
// Implement the MachinePassRegistryListener callbacks.
- //
void NotifyAdd(StringRef N, MachinePassCtor C, StringRef D) override {
this->addLiteralOption(N, (typename RegistryClass::FunctionPassCtor)C, D);
}
@@ -151,7 +137,6 @@ public:
}
};
-
} // end namespace llvm
-#endif
+#endif // LLVM_CODEGEN_MACHINEPASSREGISTRY_H