[llvm] [SandboxIR] Pass registry (PR #108084)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 10 14:08:15 PDT 2024
================
@@ -133,3 +133,33 @@ define void @foo() {
EXPECT_EQ(Buff, "test-fpm(test-pass1,test-pass2)");
#endif // NDEBUG
}
+
+TEST_F(PassTest, PassRegistry) {
+ class TestPass1 final : public FunctionPass {
+ public:
+ TestPass1() : FunctionPass("test-pass1") {}
+ bool runOnFunction(Function &F) final { return false; }
+ };
+ class TestPass2 final : public FunctionPass {
+ public:
+ TestPass2() : FunctionPass("test-pass2") {}
+ bool runOnFunction(Function &F) final { return false; }
+ };
+
+ PassRegistry Registry;
+ auto *TP1 = Registry.registerPass(std::make_unique<TestPass1>());
+ auto *TP2 = Registry.registerPass(std::make_unique<TestPass2>());
+
+ // Check getPassByName().
+ EXPECT_EQ(Registry.getPassByName("test-pass1"), TP1);
+ EXPECT_EQ(Registry.getPassByName("test-pass2"), TP2);
+
+ FunctionPassManager FPM("test-fpm");
----------------
vporpo wrote:
Yeah we don't really need a pass manager in this test.
https://github.com/llvm/llvm-project/pull/108084
More information about the llvm-commits
mailing list