@@ -29,8 +29,9 @@ class UniqueResourceFromUseTest : public testing::Test {
2929protected:
3030 PassBuilder *PB;
3131 ModuleAnalysisManager *MAM;
32-
32+ LLVMContext *Context;
3333 virtual void SetUp () {
34+ Context = new LLVMContext ();
3435 MAM = new ModuleAnalysisManager ();
3536 PB = new PassBuilder ();
3637 PB->registerModuleAnalyses (*MAM);
@@ -39,9 +40,17 @@ class UniqueResourceFromUseTest : public testing::Test {
3940 MAM->registerPass ([&] { return DXILResourceCounterDirectionAnalysis (); });
4041 }
4142
43+ std::unique_ptr<Module> parseAsm (StringRef Asm) {
44+ SMDiagnostic Error;
45+ std::unique_ptr<Module> M = parseAssemblyString (Asm, Error, *Context);
46+ EXPECT_TRUE (M) << " Bad assembly?: " << Error.getMessage ();
47+ return M;
48+ }
49+
4250 virtual void TearDown () {
4351 delete PB;
4452 delete MAM;
53+ delete Context;
4554 }
4655};
4756
@@ -58,10 +67,7 @@ define void @main() {
5867declare void @a.func(target("dx.RawBuffer", float, 1, 0) %handle)
5968 )" ;
6069
61- LLVMContext Context;
62- SMDiagnostic Error;
63- auto M = parseAssemblyString (Assembly, Error, Context);
64- ASSERT_TRUE (M) << " Bad assembly?" ;
70+ auto M = parseAsm (Assembly);
6571
6672 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
6773 for (const Function &F : M->functions ()) {
@@ -107,10 +113,7 @@ declare void @a.func(target("dx.RawBuffer", float, 1, 0) %handle)
107113declare target("dx.RawBuffer", float, 1, 0) @ind.func(target("dx.RawBuffer", float, 1, 0) %handle)
108114 )" ;
109115
110- LLVMContext Context;
111- SMDiagnostic Error;
112- auto M = parseAssemblyString (Assembly, Error, Context);
113- ASSERT_TRUE (M) << " Bad assembly?" ;
116+ auto M = parseAsm (Assembly);
114117
115118 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
116119 for (const Function &F : M->functions ()) {
@@ -159,10 +162,7 @@ declare void @a.func(target("dx.RawBuffer", float, 1, 0) %handle)
159162declare target("dx.RawBuffer", float, 1, 0) @ind.func(target("dx.RawBuffer", float, 1, 0) %x, target("dx.RawBuffer", float, 1, 0) %y)
160163 )" ;
161164
162- LLVMContext Context;
163- SMDiagnostic Error;
164- auto M = parseAssemblyString (Assembly, Error, Context);
165- ASSERT_TRUE (M) << " Bad assembly?" ;
165+ auto M = parseAsm (Assembly);
166166
167167 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
168168 for (const Function &F : M->functions ()) {
@@ -238,10 +238,7 @@ declare void @a.func(target("dx.RawBuffer", float, 1, 0) %handle)
238238declare target("dx.RawBuffer", float, 1, 0) @ind.func(target("dx.RawBuffer", float, 1, 0) %x)
239239 )" ;
240240
241- LLVMContext Context;
242- SMDiagnostic Error;
243- auto M = parseAssemblyString (Assembly, Error, Context);
244- ASSERT_TRUE (M) << " Bad assembly?" ;
241+ auto M = parseAsm (Assembly);
245242
246243 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
247244 for (const Function &F : M->functions ()) {
@@ -292,10 +289,7 @@ define void @main() {
292289}
293290 )" ;
294291
295- LLVMContext Context;
296- SMDiagnostic Error;
297- auto M = parseAssemblyString (Assembly, Error, Context);
298- ASSERT_TRUE (M) << " Bad assembly?" ;
292+ auto M = parseAsm (Assembly);
299293
300294 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
301295 const DXILResourceCounterDirectionMap &DCDM =
@@ -328,10 +322,7 @@ define void @main() {
328322}
329323 )" ;
330324
331- LLVMContext Context;
332- SMDiagnostic Error;
333- auto M = parseAssemblyString (Assembly, Error, Context);
334- ASSERT_TRUE (M) << " Bad assembly?" ;
325+ auto M = parseAsm (Assembly);
335326
336327 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
337328 const DXILResourceCounterDirectionMap &DCDM =
@@ -361,10 +352,7 @@ define void @main() {
361352}
362353 )" ;
363354
364- LLVMContext Context;
365- SMDiagnostic Error;
366- auto M = parseAssemblyString (Assembly, Error, Context);
367- ASSERT_TRUE (M) << " Bad assembly?" ;
355+ auto M = parseAsm (Assembly);
368356
369357 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
370358 const DXILResourceCounterDirectionMap &DCDM =
@@ -397,10 +385,7 @@ define void @main() {
397385}
398386 )" ;
399387
400- LLVMContext Context;
401- SMDiagnostic Error;
402- auto M = parseAssemblyString (Assembly, Error, Context);
403- ASSERT_TRUE (M) << " Bad assembly?" ;
388+ auto M = parseAsm (Assembly);
404389
405390 const DXILBindingMap &DBM = MAM->getResult <DXILResourceBindingAnalysis>(*M);
406391 const DXILResourceCounterDirectionMap &DCDM =
0 commit comments