diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2025-01-27 16:27:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-27 16:27:54 +0000 |
commit | 81d18ad86419fc612c7071e888d11aa923eaeb8a (patch) | |
tree | 4628b92d0dfbcd9f68d90b2b030202492f5d8469 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | 5f5cdf40382f06a8c417c42ec591f97aa76eeb67 (diff) | |
download | llvm-81d18ad86419fc612c7071e888d11aa923eaeb8a.zip llvm-81d18ad86419fc612c7071e888d11aa923eaeb8a.tar.gz llvm-81d18ad86419fc612c7071e888d11aa923eaeb8a.tar.bz2 |
[NFC][DebugInfo] Make some block-start-position methods return iterators (#124287)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. A
number of these (such as getFirstNonPHIOrDbg) are sufficiently
infrequently used that we can just replace the pointer-returning version
with an iterator-returning version, hopefully without much/any
disruption.
Thus this patch has getFirstNonPHIOrDbg and
getFirstNonPHIOrDbgOrLifetime return an iterator, and updates all
call-sites. There are no concerns about the iterators returned being
converted to Instruction*'s and losing the debug-info bit: because the
methods skip debug intrinsics, the iterator head bit is always false
anyway.
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)); |