diff options
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index 64fef02c..4783006 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -4643,9 +4643,11 @@ TEST_F(OpenMPIRBuilderTest, CreateTeamsWithThreadLimit) { dyn_cast<BranchInst>(PushNumTeamsCallInst->getNextNonDebugInstruction()); ASSERT_NE(BrInst, nullptr); ASSERT_EQ(BrInst->getNumSuccessors(), 1U); - Instruction *NextInstruction = + BasicBlock::iterator NextInstruction = BrInst->getSuccessor(0)->getFirstNonPHIOrDbgOrLifetime(); - CallInst *ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); + CallInst *ForkTeamsCI = nullptr; + if (NextInstruction != BrInst->getSuccessor(0)->end()) + ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); ASSERT_NE(ForkTeamsCI, nullptr); EXPECT_EQ(ForkTeamsCI->getCalledFunction(), OMPBuilder.getOrCreateRuntimeFunctionPtr(OMPRTL___kmpc_fork_teams)); @@ -4698,9 +4700,11 @@ TEST_F(OpenMPIRBuilderTest, CreateTeamsWithNumTeamsUpper) { dyn_cast<BranchInst>(PushNumTeamsCallInst->getNextNonDebugInstruction()); ASSERT_NE(BrInst, nullptr); ASSERT_EQ(BrInst->getNumSuccessors(), 1U); - Instruction *NextInstruction = + BasicBlock::iterator NextInstruction = BrInst->getSuccessor(0)->getFirstNonPHIOrDbgOrLifetime(); - CallInst *ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); + CallInst *ForkTeamsCI = nullptr; + if (NextInstruction != BrInst->getSuccessor(0)->end()) + ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); ASSERT_NE(ForkTeamsCI, nullptr); EXPECT_EQ(ForkTeamsCI->getCalledFunction(), OMPBuilder.getOrCreateRuntimeFunctionPtr(OMPRTL___kmpc_fork_teams)); @@ -4756,9 +4760,11 @@ TEST_F(OpenMPIRBuilderTest, CreateTeamsWithNumTeamsBoth) { dyn_cast<BranchInst>(PushNumTeamsCallInst->getNextNonDebugInstruction()); ASSERT_NE(BrInst, nullptr); ASSERT_EQ(BrInst->getNumSuccessors(), 1U); - Instruction *NextInstruction = + BasicBlock::iterator NextInstruction = BrInst->getSuccessor(0)->getFirstNonPHIOrDbgOrLifetime(); - CallInst *ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); + CallInst *ForkTeamsCI = nullptr; + if (NextInstruction != BrInst->getSuccessor(0)->end()) + ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); ASSERT_NE(ForkTeamsCI, nullptr); EXPECT_EQ(ForkTeamsCI->getCalledFunction(), OMPBuilder.getOrCreateRuntimeFunctionPtr(OMPRTL___kmpc_fork_teams)); @@ -4820,9 +4826,11 @@ TEST_F(OpenMPIRBuilderTest, CreateTeamsWithNumTeamsAndThreadLimit) { dyn_cast<BranchInst>(PushNumTeamsCallInst->getNextNonDebugInstruction()); ASSERT_NE(BrInst, nullptr); ASSERT_EQ(BrInst->getNumSuccessors(), 1U); - Instruction *NextInstruction = + BasicBlock::iterator NextInstruction = BrInst->getSuccessor(0)->getFirstNonPHIOrDbgOrLifetime(); - CallInst *ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); + CallInst *ForkTeamsCI = nullptr; + if (NextInstruction != BrInst->getSuccessor(0)->end()) + ForkTeamsCI = dyn_cast_if_present<CallInst>(NextInstruction); ASSERT_NE(ForkTeamsCI, nullptr); EXPECT_EQ(ForkTeamsCI->getCalledFunction(), OMPBuilder.getOrCreateRuntimeFunctionPtr(OMPRTL___kmpc_fork_teams)); |