[llvm] Fixing memory leaks in tests (PR #161878)

S. VenkataKeerthy via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 3 09:59:03 PDT 2025


https://github.com/svkeerthy created https://github.com/llvm/llvm-project/pull/161878

Fixing the memory leaks introduced (#158376) in the unit tests of FunctionPropertiesAnalysis and IR2Vec.

>From 2918e38e7e0cd7457549465cb8b9d336601b3086 Mon Sep 17 00:00:00 2001
From: svkeerthy <venkatakeerthy at google.com>
Date: Fri, 3 Oct 2025 16:57:22 +0000
Subject: [PATCH] Fixing memory leaks in tests

---
 llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp | 4 ++--
 llvm/unittests/Analysis/IR2VecTest.cpp                     | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp b/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
index b6e8567ee514d..0ae6d7c1e31af 100644
--- a/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
+++ b/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
@@ -47,7 +47,7 @@ class FunctionPropertiesAnalysisTest : public testing::Test {
       return IR2VecVocabAnalysis(std::move(VocabVector));
     });
     IR2VecVocab =
-        new ir2vec::Vocabulary(ir2vec::Vocabulary::createDummyVocabForTest(1));
+        std::make_unique<ir2vec::Vocabulary>(ir2vec::Vocabulary::createDummyVocabForTest(1));
     MAM.registerPass([&] { return PassInstrumentationAnalysis(); });
     FAM.registerPass([&] { return ModuleAnalysisManagerFunctionProxy(MAM); });
     FAM.registerPass([&] { return DominatorTreeAnalysis(); });
@@ -69,7 +69,7 @@ class FunctionPropertiesAnalysisTest : public testing::Test {
   std::unique_ptr<LoopInfo> LI;
   FunctionAnalysisManager FAM;
   ModuleAnalysisManager MAM;
-  ir2vec::Vocabulary *IR2VecVocab;
+  std::unique_ptr<ir2vec::Vocabulary> IR2VecVocab;
 
   void TearDown() override {
     // Restore original IR2Vec weights
diff --git a/llvm/unittests/Analysis/IR2VecTest.cpp b/llvm/unittests/Analysis/IR2VecTest.cpp
index 743628fffac76..d136cb6a316b1 100644
--- a/llvm/unittests/Analysis/IR2VecTest.cpp
+++ b/llvm/unittests/Analysis/IR2VecTest.cpp
@@ -295,7 +295,7 @@ TEST(IR2VecTest, ZeroDimensionEmbedding) {
 // Fixture for IR2Vec tests requiring IR setup.
 class IR2VecTestFixture : public ::testing::Test {
 protected:
-  Vocabulary *V;
+  std::unique_ptr<Vocabulary> V;
   LLVMContext Ctx;
   std::unique_ptr<Module> M;
   Function *F = nullptr;
@@ -304,7 +304,7 @@ class IR2VecTestFixture : public ::testing::Test {
   Instruction *RetInst = nullptr;
 
   void SetUp() override {
-    V = new Vocabulary(Vocabulary::createDummyVocabForTest(2));
+    V = std::make_unique<Vocabulary>(Vocabulary::createDummyVocabForTest(2));
 
     // Setup IR
     M = std::make_unique<Module>("TestM", Ctx);



More information about the llvm-commits mailing list