[Lldb-commits] [lldb] [llvm] [IR] Rename BasicBlock::getFirstNonPHIOrDbg* (NFC) (PR #232604)

via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 15 23:05:20 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Kazu Hirata (kazutakahirata)

<details>
<summary>Changes</summary>

This patch renames the functions in BasicBlock as follows because they
no longer check for debug intrinsics:

- getFirstNonPHIOrDbg           -> getFirstNonPHIOrPseudoProbe
- getFirstNonPHIOrDbgOrLifetime -> getFirstNonPHIOrLifetime
- getFirstNonPHIOrDbgOrAlloca   -> getFirstNonPHIOrAlloca

This patch also drops the SkipPseudoOp parameter from
getFirstNonPHIOrPseudoProbe and getFirstNonPHIOrLifetime because every
caller uses the default value of true.

Note that all three functions still return iterators with the head bit
unset so that insertions at the returned position are placed after any
DbgRecords attached to that instruction.

Assisted-by: Antigravity


---

Patch is 46.54 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/232604.diff


45 Files Affected:

- (modified) lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp (+5-3) 
- (modified) llvm/include/llvm/IR/BasicBlock.h (+14-19) 
- (modified) llvm/include/llvm/IR/IRBuilder.h (+1-1) 
- (modified) llvm/include/llvm/IR/Instructions.h (+2-1) 
- (modified) llvm/lib/Analysis/MustExecute.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/CodeGenPrepare.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (+1-1) 
- (modified) llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp (+3-5) 
- (modified) llvm/lib/IR/BasicBlock.cpp (+5-16) 
- (modified) llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp (+2-2) 
- (modified) llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp (+2-2) 
- (modified) llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp (+1-1) 
- (modified) llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp (+3-3) 
- (modified) llvm/lib/Transforms/Coroutines/CoroFrame.cpp (+3-2) 
- (modified) llvm/lib/Transforms/Coroutines/CoroSplit.cpp (+2-2) 
- (modified) llvm/lib/Transforms/IPO/Instrumentor.cpp (+2-2) 
- (modified) llvm/lib/Transforms/IPO/OpenMPOpt.cpp (+1-1) 
- (modified) llvm/lib/Transforms/IPO/SCCP.cpp (+4-3) 
- (modified) llvm/lib/Transforms/IPO/SampleProfile.cpp (+1-1) 
- (modified) llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp (+1-1) 
- (modified) llvm/lib/Transforms/InstCombine/InstructionCombining.cpp (+1-2) 
- (modified) llvm/lib/Transforms/Instrumentation/CopyProf.cpp (+1-2) 
- (modified) llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (+4-4) 
- (modified) llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp (+2-2) 
- (modified) llvm/lib/Transforms/Scalar/GuardWidening.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/JumpThreading.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/LoopFuse.cpp (+2-2) 
- (modified) llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/Reassociate.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/SROA.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/BasicBlockUtils.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/CodeMoverUtils.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/IRNormalizer.cpp (+7-8) 
- (modified) llvm/lib/Transforms/Utils/SimplifyCFG.cpp (+5-4) 
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+5-5) 
- (modified) llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp (+4-4) 
- (modified) llvm/unittests/IR/DebugInfoTest.cpp (+3-3) 
- (modified) llvm/unittests/Transforms/Utils/LocalTest.cpp (+1-1) 


``````````diff
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
index f9ddce8e1be033..e463f124f71357 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
@@ -68,7 +68,7 @@ static llvm::Value *FindEntryInstruction(llvm::Function *function) {
   if (function->empty())
     return nullptr;
 
-  return &*function->getEntryBlock().getFirstNonPHIOrDbg();
+  return &*function->getEntryBlock().getFirstNonPHIOrPseudoProbe();
 }
 
 IRForTarget::IRForTarget(lldb_private::ClangExpressionDeclMap *decl_map,
@@ -368,7 +368,8 @@ bool IRForTarget::CreateResultVariable(llvm::Function &llvm_function) {
     // there's nothing to put into its equivalent persistent variable.
 
     BasicBlock &entry_block(llvm_function.getEntryBlock());
-    Instruction *first_entry_instruction(&*entry_block.getFirstNonPHIOrDbg());
+    Instruction *first_entry_instruction(
+        &*entry_block.getFirstNonPHIOrPseudoProbe());
 
     if (!first_entry_instruction)
       return false;
@@ -1545,7 +1546,8 @@ bool IRForTarget::ReplaceVariables(Function &llvm_function) {
   LLDB_LOG(log, "Arg: \"{0}\"", PrintValue(argument));
 
   BasicBlock &entry_block(llvm_function.getEntryBlock());
-  Instruction *FirstEntryInstruction(&*entry_block.getFirstNonPHIOrDbg());
+  Instruction *FirstEntryInstruction(
+      &*entry_block.getFirstNonPHIOrPseudoProbe());
 
   if (!FirstEntryInstruction) {
     m_error_stream.Printf("Internal error [IRForTarget]: Couldn't find the "
diff --git a/llvm/include/llvm/IR/BasicBlock.h b/llvm/include/llvm/IR/BasicBlock.h
index 22b658046a482e..537fac311bad82 100644
--- a/llvm/include/llvm/IR/BasicBlock.h
+++ b/llvm/include/llvm/IR/BasicBlock.h
@@ -297,26 +297,21 @@ class BasicBlock final : public Value, // Basic blocks are data objects also
     return It;
   }
 
-  /// Returns a pointer to the first instruction in this block that is not a
-  /// PHINode or a debug intrinsic, or any pseudo operation if \c SkipPseudoOp
-  /// is true.
-  LLVM_ABI InstListType::const_iterator
-  getFirstNonPHIOrDbg(bool SkipPseudoOp = true) const;
-  InstListType::iterator getFirstNonPHIOrDbg(bool SkipPseudoOp = true) {
+  /// Returns an iterator to the first instruction in this block that is not a
+  /// PHINode or a pseudo operation.
+  LLVM_ABI InstListType::const_iterator getFirstNonPHIOrPseudoProbe() const;
+  InstListType::iterator getFirstNonPHIOrPseudoProbe() {
     return static_cast<const BasicBlock *>(this)
-        ->getFirstNonPHIOrDbg(SkipPseudoOp)
+        ->getFirstNonPHIOrPseudoProbe()
         .getNonConst();
   }
 
-  /// Returns a pointer to the first instruction in this block that is not a
-  /// PHINode, a debug intrinsic, or a lifetime intrinsic, or any pseudo
-  /// operation if \c SkipPseudoOp is true.
-  LLVM_ABI InstListType::const_iterator
-  getFirstNonPHIOrDbgOrLifetime(bool SkipPseudoOp = true) const;
-  InstListType::iterator
-  getFirstNonPHIOrDbgOrLifetime(bool SkipPseudoOp = true) {
+  /// Returns an iterator to the first instruction in this block that is not a
+  /// PHINode, a lifetime intrinsic, or a pseudo operation.
+  LLVM_ABI InstListType::const_iterator getFirstNonPHIOrLifetime() const;
+  InstListType::iterator getFirstNonPHIOrLifetime() {
     return static_cast<const BasicBlock *>(this)
-        ->getFirstNonPHIOrDbgOrLifetime(SkipPseudoOp)
+        ->getFirstNonPHIOrLifetime()
         .getNonConst();
   }
 
@@ -343,11 +338,11 @@ class BasicBlock final : public Value, // Basic blocks are data objects also
   }
 
   /// Returns an iterator to the first instruction in this block that is
-  /// not a PHINode, a debug intrinsic, a static alloca or any pseudo operation.
-  LLVM_ABI const_iterator getFirstNonPHIOrDbgOrAlloca() const;
-  iterator getFirstNonPHIOrDbgOrAlloca() {
+  /// not a PHINode, a static alloca, or any pseudo operation.
+  LLVM_ABI const_iterator getFirstNonPHIOrAlloca() const;
+  iterator getFirstNonPHIOrAlloca() {
     return static_cast<const BasicBlock *>(this)
-        ->getFirstNonPHIOrDbgOrAlloca()
+        ->getFirstNonPHIOrAlloca()
         .getNonConst();
   }
 
diff --git a/llvm/include/llvm/IR/IRBuilder.h b/llvm/include/llvm/IR/IRBuilder.h
index 442cef296754ad..2613998413a3b0 100644
--- a/llvm/include/llvm/IR/IRBuilder.h
+++ b/llvm/include/llvm/IR/IRBuilder.h
@@ -231,7 +231,7 @@ class IRBuilderBase {
   /// instructions that are at the start.
   void SetInsertPointPastAllocas(Function *F) {
     BB = &F->getEntryBlock();
-    InsertPt = BB->getFirstNonPHIOrDbgOrAlloca();
+    InsertPt = BB->getFirstNonPHIOrAlloca();
   }
 
   /// Set location information used by debugging information.
diff --git a/llvm/include/llvm/IR/Instructions.h b/llvm/include/llvm/IR/Instructions.h
index 5d56e130eec5a7..39c5b786e7967d 100644
--- a/llvm/include/llvm/IR/Instructions.h
+++ b/llvm/include/llvm/IR/Instructions.h
@@ -3506,7 +3506,8 @@ class SwitchInst : public Instruction {
   /// Returns true if the default branch must result in immediate undefined
   /// behavior, false otherwise.
   bool defaultDestUnreachable() const {
-    return isa<UnreachableInst>(getDefaultDest()->getFirstNonPHIOrDbg());
+    return isa<UnreachableInst>(
+        getDefaultDest()->getFirstNonPHIOrPseudoProbe());
   }
 
   void setDefaultDest(BasicBlock *DefaultCase) {
diff --git a/llvm/lib/Analysis/MustExecute.cpp b/llvm/lib/Analysis/MustExecute.cpp
index 0aade401bf9048..82452e892886fc 100644
--- a/llvm/lib/Analysis/MustExecute.cpp
+++ b/llvm/lib/Analysis/MustExecute.cpp
@@ -294,7 +294,7 @@ bool SimpleLoopSafetyInfo::isGuaranteedToExecute(
     // exit.  At the moment, we use a (cheap) hack for the common case where
     // the instruction of interest is the first one in the block.
     return !HeaderMayThrow ||
-           &*Inst.getParent()->getFirstNonPHIOrDbg() == &Inst;
+           &*Inst.getParent()->getFirstNonPHIOrPseudoProbe() == &Inst;
 
   // If there is a path from header to exit or latch that doesn't lead to our
   // instruction's block, return false.
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp
index bc2099ec13c4d4..2e475e9efd046e 100644
--- a/llvm/lib/CodeGen/CodeGenPrepare.cpp
+++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp
@@ -868,7 +868,7 @@ bool CodeGenPrepare::isMergingEmptyBlockProfitable(BasicBlock *BB,
                  isa<IndirectBrInst>(Pred->getTerminator())))
     return true;
 
-  if (BB->getTerminator() != &*BB->getFirstNonPHIOrDbg())
+  if (BB->getTerminator() != &*BB->getFirstNonPHIOrPseudoProbe())
     return true;
 
   // We use a simple cost heuristic which determine skipping merging is
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index ebf2eb79a64528..3315dfef0aa1f4 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -2064,7 +2064,7 @@ bool IRTranslatorImpl::lowerSwitchWorkItem(SwitchCG::SwitchWorkListItem W,
       // For the last cluster, fall through to the default destination.
       Fallthrough = DefaultMBB;
       FallthroughUnreachable = isa<UnreachableInst>(
-          DefaultMBB->getBasicBlock()->getFirstNonPHIOrDbg());
+          DefaultMBB->getBasicBlock()->getFirstNonPHIOrPseudoProbe());
     } else {
       Fallthrough = CurMF->CreateMachineBasicBlock(CurMBB->getBasicBlock());
       CurMF->insert(BBI, Fallthrough);
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index b595de3734bb9f..7ed3ed4ae9b8e0 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -12752,7 +12752,7 @@ void SelectionDAGBuilder::lowerWorkItem(SwitchWorkListItem W, Value *Cond,
       // For the last cluster, fall through to the default destination.
       Fallthrough = DefaultMBB;
       FallthroughUnreachable = isa<UnreachableInst>(
-          DefaultMBB->getBasicBlock()->getFirstNonPHIOrDbg());
+          DefaultMBB->getBasicBlock()->getFirstNonPHIOrPseudoProbe());
     } else {
       Fallthrough = CurMF->CreateMachineBasicBlock(CurMBB->getBasicBlock());
       CurMF->insert(BBI, Fallthrough);
diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
index 732b6083628796..af2d102f568347 100644
--- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
@@ -6135,8 +6135,7 @@ OpenMPIRBuilder::InsertPointOrErrorTy OpenMPIRBuilder::applyStaticWorkshareLoop(
       getOrCreateRuntimeFunction(M, omp::OMPRTL___kmpc_for_static_fini);
 
   // Allocate space for computed loop bounds as expected by the "init" function.
-  Builder.SetInsertPoint(
-      AllocaIP.getNodeParent()->getFirstNonPHIOrDbgOrAlloca());
+  Builder.SetInsertPoint(AllocaIP.getNodeParent()->getFirstNonPHIOrAlloca());
 
   Type *I32Type = Type::getInt32Ty(M.getContext());
   Value *PLastIter = Builder.CreateAlloca(I32Type, nullptr, "p.lastiter");
@@ -6890,8 +6889,7 @@ OpenMPIRBuilder::applyDynamicWorkshareLoop(DebugLoc DL, CanonicalLoopInfo *CLI,
   FunctionCallee DynamicNext = getKmpcForDynamicNextForType(IVTy, M, *this);
 
   // Allocate space for computed loop bounds as expected by the "init" function.
-  Builder.SetInsertPoint(
-      AllocaIP.getNodeParent()->getFirstNonPHIOrDbgOrAlloca());
+  Builder.SetInsertPoint(AllocaIP.getNodeParent()->getFirstNonPHIOrAlloca());
   Type *I32Type = Type::getInt32Ty(M.getContext());
   Value *PLastIter = Builder.CreateAlloca(I32Type, nullptr, "p.lastiter");
   Value *PLowerBound = Builder.CreateAlloca(IVTy, nullptr, "p.lowerbound");
@@ -9400,7 +9398,7 @@ static Expected<Function *> createOutlinedFunction(
   Builder.SetInsertPoint(EntryBB->getFirstNonPHIIt());
   auto AllocaIP = Builder.saveIP();
 
-  Builder.SetInsertPoint(UserCodeEntryBB->getFirstNonPHIOrDbg());
+  Builder.SetInsertPoint(UserCodeEntryBB->getFirstNonPHIOrPseudoProbe());
 
   // Do not include the artificial dyn_ptr argument.
   const auto &ArgRange = make_range(Func->arg_begin(), Func->arg_end() - 1);
diff --git a/llvm/lib/IR/BasicBlock.cpp b/llvm/lib/IR/BasicBlock.cpp
index 921070c07a75c8..10257a387ae861 100644
--- a/llvm/lib/IR/BasicBlock.cpp
+++ b/llvm/lib/IR/BasicBlock.cpp
@@ -302,13 +302,9 @@ BasicBlock::const_iterator BasicBlock::getFirstNonPHIIt() const {
   return end();
 }
 
-BasicBlock::const_iterator
-BasicBlock::getFirstNonPHIOrDbg(bool SkipPseudoOp) const {
+BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrPseudoProbe() const {
   for (const Instruction &I : *this) {
-    if (isa<PHINode>(I))
-      continue;
-
-    if (SkipPseudoOp && isa<PseudoProbeInst>(I))
+    if (isa<PHINode, PseudoProbeInst>(I))
       continue;
 
     BasicBlock::const_iterator It = I.getIterator();
@@ -320,16 +316,9 @@ BasicBlock::getFirstNonPHIOrDbg(bool SkipPseudoOp) const {
   return end();
 }
 
-BasicBlock::const_iterator
-BasicBlock::getFirstNonPHIOrDbgOrLifetime(bool SkipPseudoOp) const {
+BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrLifetime() const {
   for (const Instruction &I : *this) {
-    if (isa<PHINode>(I))
-      continue;
-
-    if (I.isLifetimeStartOrEnd())
-      continue;
-
-    if (SkipPseudoOp && isa<PseudoProbeInst>(I))
+    if (isa<PHINode, PseudoProbeInst>(I) || I.isLifetimeStartOrEnd())
       continue;
 
     BasicBlock::const_iterator It = I.getIterator();
@@ -355,7 +344,7 @@ BasicBlock::const_iterator BasicBlock::getFirstInsertionPt() const {
   return InsertPt;
 }
 
-BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrDbgOrAlloca() const {
+BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrAlloca() const {
   const_iterator InsertPt = getFirstNonPHIIt();
   if (InsertPt == end())
     return end();
diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
index 14e8d3b61c2dcd..edf58bafb9667b 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
@@ -3501,7 +3501,7 @@ instCombineDMB(InstCombiner &IC, IntrinsicInst &II,
     NI = NI->getNextNode();
     if (!NI) {
       if (auto *SuccBB = NIBB->getUniqueSuccessor())
-        NI = &*SuccBB->getFirstNonPHIOrDbgOrLifetime();
+        NI = &*SuccBB->getFirstNonPHIOrLifetime();
       else
         break;
     }
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
index 2313a955d52b90..2dfc8f11233baa 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
@@ -517,7 +517,7 @@ class AMDGPULowerModuleLDS {
     // block to spare deduplicating it later.
     auto [It, Inserted] = tableKernelIndexCache.try_emplace(F);
     if (Inserted) {
-      auto InsertAt = F->getEntryBlock().getFirstNonPHIOrDbgOrAlloca();
+      auto InsertAt = F->getEntryBlock().getFirstNonPHIOrAlloca();
       IRBuilder<> Builder(&*InsertAt);
 
       It->second = Builder.CreateIntrinsic(Intrinsic::amdgcn_lds_kernel_id, {});
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
index 65e808fba74681..d835ffbd56d17f 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
@@ -860,7 +860,7 @@ void AMDGPUSwLowerLDS::lowerKernelLDSAccesses(Function *Func,
   // block (WIdBlock) so they remain static allocas. Splice the leading cluster
   // in bulk, then move any stragglers that are interleaved with other
   // instructions.
-  auto SplitIt = PrevEntryBlock->getFirstNonPHIOrDbgOrAlloca();
+  auto SplitIt = PrevEntryBlock->getFirstNonPHIOrAlloca();
   WIdBlock->splice(WIdBlock->end(), PrevEntryBlock, PrevEntryBlock->begin(),
                    SplitIt);
   for (Instruction &I : make_early_inc_range(*PrevEntryBlock))
@@ -1141,7 +1141,7 @@ void AMDGPUSwLowerLDS::lowerNonKernelLDSAccesses(
   // Base table and offset from offset table.
   LLVM_DEBUG(dbgs() << "Sw LDS lowering, lower non-kernel access for : "
                     << Func->getName());
-  auto InsertAt = Func->getEntryBlock().getFirstNonPHIOrDbgOrAlloca();
+  auto InsertAt = Func->getEntryBlock().getFirstNonPHIOrAlloca();
   IRB.SetInsertPoint(InsertAt);
 
   // Get LDS memory instructions.
diff --git a/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp b/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
index 2b2f9c0cd5aab5..d8ceb66438b3b4 100644
--- a/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
+++ b/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
@@ -234,7 +234,7 @@ Value *SIAnnotateControlFlow::handleLoopCondition(Value *Cond, PHINode *Broken,
     } else if (L->contains(Inst)) {
       Insert = Term;
     } else {
-      Insert = &*L->getHeader()->getFirstNonPHIOrDbgOrLifetime();
+      Insert = &*L->getHeader()->getFirstNonPHIOrLifetime();
     }
 
     return CreateBreak(Insert);
@@ -249,7 +249,7 @@ Value *SIAnnotateControlFlow::handleLoopCondition(Value *Cond, PHINode *Broken,
   }
 
   if (isa<Argument>(Cond)) {
-    Instruction *Insert = &*L->getHeader()->getFirstNonPHIOrDbgOrLifetime();
+    Instruction *Insert = &*L->getHeader()->getFirstNonPHIOrLifetime();
     return CreateBreak(Insert);
   }
 
diff --git a/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp b/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
index 4def36476dbc0b..b7b656101d0c0a 100644
--- a/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
@@ -82,7 +82,7 @@ bool GenericToNVVM::runOnModule(Module &M) {
     if (F.isDeclaration()) {
       continue;
     }
-    IRBuilder<> Builder(&*F.getEntryBlock().getFirstNonPHIOrDbg());
+    IRBuilder<> Builder(&*F.getEntryBlock().getFirstNonPHIOrPseudoProbe());
     for (BasicBlock &BB : F) {
       for (Instruction &II : BB) {
         for (unsigned i = 0, e = II.getNumOperands(); i < e; ++i) {
diff --git a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
index b8d1011ab8f983..548edf76b98482 100644
--- a/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
@@ -474,7 +474,7 @@ static bool isSpvAggrPlaceholder(const Value *V) {
 
 static void setInsertPointSkippingPhis(IRBuilder<> &B, Instruction *I) {
   if (isa<PHINode>(I))
-    B.SetInsertPoint(I->getParent()->getFirstNonPHIOrDbgOrAlloca());
+    B.SetInsertPoint(I->getParent()->getFirstNonPHIOrAlloca());
   else
     B.SetInsertPoint(I);
 }
@@ -626,7 +626,7 @@ CallInst *SPIRVEmitIntrinsicsImpl::buildSpvPtrcast(Function *F, Value *Op,
     B.SetInsertPointPastAllocas(OpA->getParent());
     B.SetCurrentDebugLocation(DebugLoc());
   } else {
-    B.SetInsertPoint(F->getEntryBlock().getFirstNonPHIOrDbgOrAlloca());
+    B.SetInsertPoint(F->getEntryBlock().getFirstNonPHIOrAlloca());
   }
   Type *OpTy = Op->getType();
   SmallVector<Type *, 2> Types = {OpTy, OpTy};
@@ -3661,7 +3661,7 @@ void SPIRVEmitIntrinsicsImpl::applyDemangledPtrArgTypes(IRBuilder<> &B) {
           B.SetInsertPoint(CI->getParent()
                                ->getParent()
                                ->getEntryBlock()
-                               .getFirstNonPHIOrDbgOrAlloca());
+                               .getFirstNonPHIOrAlloca());
           GR->buildAssignPtr(B, ElemTy, Param);
         }
         CallInst *Ref = dyn_cast<CallInst>(Param);
diff --git a/llvm/lib/Transforms/Coroutines/CoroFrame.cpp b/llvm/lib/Transforms/Coroutines/CoroFrame.cpp
index 7b10b8f66f1434..2c76bdb5917aa7 100644
--- a/llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroFrame.cpp
@@ -1637,7 +1637,8 @@ static Value *emitSetAndGetSwiftErrorValueAround(Instruction *Call,
     Builder.SetInsertPoint(Call->getNextNode());
   } else {
     auto Invoke = cast<InvokeInst>(Call);
-    Builder.SetInsertPoint(Invoke->getNormalDest()->getFirstNonPHIOrDbg());
+    Builder.SetInsertPoint(
+        Invoke->getNormalDest()->getFirstNonPHIOrPseudoProbe());
   }
 
   // Get the current swifterror value and store it to the alloca.
@@ -1678,7 +1679,7 @@ static void eliminateSwiftErrorAlloca(Function &F, AllocaInst *Alloca,
 static void eliminateSwiftErrorArgument(Function &F, Argument &Arg,
                                         coro::Shape &Shape,
                              SmallVectorImpl<AllocaInst*> &AllocasToPromote) {
-  IRBuilder<> Builder(F.getEntryBlock().getFirstNonPHIOrDbg());
+  IRBuilder<> Builder(F.getEntryBlock().getFirstNonPHIOrPseudoProbe());
 
   auto ArgTy = cast<PointerType>(Arg.getType());
   auto ValueTy = PointerType::getUnqual(F.getContext());
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
index 88031411e601a5..68815a4c1a4951 100644
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
@@ -644,7 +644,7 @@ static void replaceSwiftErrorOps(Function &F, coro::Shape &Shape,
     }
 
     // Create a swifterror alloca.
-    IRBuilder<> Builder(F.getEntryBlock().getFirstNonPHIOrDbg());
+    IRBuilder<> Builder(F.getEntryBlock().getFirstNonPHIOrPseudoProbe());
     auto Alloca = Builder.CreateAlloca(ValueTy);
     Alloca->setSwiftError(true);
 
@@ -809,7 +809,7 @@ static DebugLoc getFirstNonZeroLocAfterSuspend(Instruction *ActiveSuspend) {
     auto *Branch = dyn_cast_or_null<UncondBrInst>(Successor);
     if (!Branch)
       break;
-    Successor = Branch->getSuccessor()->getFirstNonPHIOrDbg();
+    Successor = Branch->getSuccessor()->getFirstNonPHIOrPseudoProbe();
   }
 
   BasicBlock *PBB = Successor->getParent();
diff --git a/llvm/lib/Transforms/IPO/Instrumentor.cpp b/llvm/lib/Transforms/IPO/Instrumentor.cpp
index 18a3c86dcfe718..12f2d4e3b13e95 100644
--- a/llvm/lib/Transforms/IPO/Instrumentor.cpp
+++ b/llvm/lib/Transforms/IPO/Instrumentor.cpp
@@ -397,7 +397,7 @@ bool InstrumentorImpl::instrumentFunction(Function &Fn) {
     ++IIRB.Epoch;
 
     IIRB.IRB.SetInsertPoint(
-        cast<Function>(FPtr)->getEntryBlock().getFirstNonPHIOrDbgOrAlloca());
+        cast<Function>(FPtr)->getEntryBlock().getFirstNonPHIOrAlloca());
     ensureDbgLoc(IIRB.IRB);
     IO->instrument(FPtr, Changed, IConf, IIRB, ICaches);
     IIRB.returnAllocas();
@@ -1656,7 +1656,7 @@ Value *GlobalVarIO::setAddress(Value &V, Value &NewV,...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/232604


More information about the lldb-commits mailing list