diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2025-01-24 13:27:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-24 13:27:56 +0000 |
commit | 6292a808b3524d9ba6f4ce55bc5b9e547b088dd8 (patch) | |
tree | 75d8253ec7b5085328930a26daf1f20c39682f80 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | a5cc897cdedfdca018a83fac5734ebe086acb817 (diff) | |
download | llvm-6292a808b3524d9ba6f4ce55bc5b9e547b088dd8.zip llvm-6292a808b3524d9ba6f4ce55bc5b9e547b088dd8.tar.gz llvm-6292a808b3524d9ba6f4ce55bc5b9e547b088dd8.tar.bz2 |
[NFC][DebugInfo] Use iterator-flavour getFirstNonPHI at many call-sites (#123737)
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to getFirstNonPHI use the iterator-returning version.
This patch changes a bunch of call-sites calling getFirstNonPHI to use
getFirstNonPHIIt, which returns an iterator. All these call sites are
where it's obviously safe to fetch the iterator then dereference it. A
follow-up patch will contain less-obviously-safe changes.
We'll eventually deprecate and remove the instruction-pointer
getFirstNonPHI, but not before adding concise documentation of what
considerations are needed (very few).
---------
Co-authored-by: Stephen Tozer <Melamoto@gmail.com>
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index f620d2c..4261615 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -6434,7 +6434,7 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { // Check entry block auto &EntryBlock = OutlinedFn->getEntryBlock(); - Instruction *Alloca1 = EntryBlock.getFirstNonPHI(); + Instruction *Alloca1 = &*EntryBlock.getFirstNonPHIIt(); EXPECT_NE(Alloca1, nullptr); EXPECT_TRUE(isa<AllocaInst>(Alloca1)); @@ -6469,7 +6469,7 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { // Check user code block auto *UserCodeBlock = EntryBlockBranch->getSuccessor(0); EXPECT_EQ(UserCodeBlock->getName(), "user_code.entry"); - auto *Load1 = UserCodeBlock->getFirstNonPHI(); + Instruction *Load1 = &*UserCodeBlock->getFirstNonPHIIt(); EXPECT_TRUE(isa<LoadInst>(Load1)); auto *Load2 = Load1->getNextNode(); EXPECT_TRUE(isa<LoadInst>(Load2)); @@ -6480,7 +6480,7 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { auto *OutlinedBlock = OutlinedBlockBr->getSuccessor(0); EXPECT_EQ(OutlinedBlock->getName(), "outlined.body"); - auto *Value1 = OutlinedBlock->getFirstNonPHI(); + Instruction *Value1 = &*OutlinedBlock->getFirstNonPHIIt(); EXPECT_EQ(Value1, Value); EXPECT_EQ(Value1->getNextNode(), TargetStore); auto *Deinit = TargetStore->getNextNode(); @@ -6496,7 +6496,7 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { // Check exit block auto *ExitBlock = EntryBlockBranch->getSuccessor(1); EXPECT_EQ(ExitBlock->getName(), "worker.exit"); - EXPECT_TRUE(isa<ReturnInst>(ExitBlock->getFirstNonPHI())); + EXPECT_TRUE(isa<ReturnInst>(ExitBlock->getFirstNonPHIIt())); // Check global exec_mode. GlobalVariable *Used = M->getGlobalVariable("llvm.compiler.used"); @@ -6804,7 +6804,7 @@ TEST_F(OpenMPIRBuilderTest, ConstantAllocaRaise) { // Check that we have moved our alloca created in the // BodyGenCB function, to the top of the function. - Instruction *Alloca1 = EntryBlock.getFirstNonPHI(); + Instruction *Alloca1 = &*EntryBlock.getFirstNonPHIIt(); EXPECT_NE(Alloca1, nullptr); EXPECT_TRUE(isa<AllocaInst>(Alloca1)); EXPECT_EQ(Alloca1, RaiseAlloca); @@ -6840,7 +6840,7 @@ TEST_F(OpenMPIRBuilderTest, ConstantAllocaRaise) { // Check user code block auto *UserCodeBlock = EntryBlockBranch->getSuccessor(0); EXPECT_EQ(UserCodeBlock->getName(), "user_code.entry"); - auto *Load1 = UserCodeBlock->getFirstNonPHI(); + BasicBlock::iterator Load1 = UserCodeBlock->getFirstNonPHIIt(); EXPECT_TRUE(isa<LoadInst>(Load1)); auto *OutlinedBlockBr = Load1->getNextNode(); @@ -6849,7 +6849,7 @@ TEST_F(OpenMPIRBuilderTest, ConstantAllocaRaise) { auto *OutlinedBlock = OutlinedBlockBr->getSuccessor(0); EXPECT_EQ(OutlinedBlock->getName(), "outlined.body"); - auto *Load2 = OutlinedBlock->getFirstNonPHI(); + Instruction *Load2 = &*OutlinedBlock->getFirstNonPHIIt(); EXPECT_TRUE(isa<LoadInst>(Load2)); EXPECT_EQ(Load2, Value); EXPECT_EQ(Load2->getNextNode(), TargetStore); @@ -6866,7 +6866,7 @@ TEST_F(OpenMPIRBuilderTest, ConstantAllocaRaise) { // Check exit block auto *ExitBlock = EntryBlockBranch->getSuccessor(1); EXPECT_EQ(ExitBlock->getName(), "worker.exit"); - EXPECT_TRUE(isa<ReturnInst>(ExitBlock->getFirstNonPHI())); + EXPECT_TRUE(isa<ReturnInst>(ExitBlock->getFirstNonPHIIt())); } TEST_F(OpenMPIRBuilderTest, CreateTask) { |