Skip to content

Commit 3654d52

Browse files
committed
Add a unit test.
1 parent f8f9835 commit 3654d52

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7852,4 +7852,28 @@ TEST_F(OpenMPIRBuilderTest, splitBB) {
78527852
EXPECT_TRUE(DL == AllocaBB->getTerminator()->getStableDebugLoc());
78537853
}
78547854

7855+
TEST_F(OpenMPIRBuilderTest, spliceBBWithEmptyBB) {
7856+
OpenMPIRBuilder OMPBuilder(*M);
7857+
OMPBuilder.Config.IsTargetDevice = false;
7858+
OMPBuilder.initialize();
7859+
F->setName("func");
7860+
IRBuilder<> Builder(BB);
7861+
7862+
// Test calling spliceBB with an empty Block (but having trailing debug
7863+
// records).
7864+
DIBuilder DIB(*M);
7865+
DISubprogram *SP = F->getSubprogram();
7866+
DIType *VoidPtrTy =
7867+
DIB.createQualifiedType(dwarf::DW_TAG_pointer_type, nullptr);
7868+
DILocalVariable *Var = DIB.createParameterVariable(
7869+
SP, "test", /*ArgNo*/ 1, SP->getFile(), /*LineNo=*/0, VoidPtrTy);
7870+
DIB.insertDeclare(F->getArg(0), Var, DIB.createExpression(), DL,
7871+
Builder.GetInsertPoint());
7872+
BasicBlock *New = BasicBlock::Create(Ctx, "", F);
7873+
spliceBB(Builder.saveIP(), New, true, DL);
7874+
Instruction *Terminator = BB->getTerminator();
7875+
EXPECT_NE(Terminator, nullptr);
7876+
EXPECT_FALSE(Terminator->getDbgRecordRange().empty());
7877+
}
7878+
78557879
} // namespace

0 commit comments

Comments
 (0)