[lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
Orlando Cazalet-Hyams via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 27 06:43:19 PST 2025
================
@@ -383,20 +383,24 @@ BasicBlock::const_iterator BasicBlock::getFirstNonPHIIt() const {
return It;
}
-const Instruction *BasicBlock::getFirstNonPHIOrDbg(bool SkipPseudoOp) const {
+BasicBlock::const_iterator
+BasicBlock::getFirstNonPHIOrDbg(bool SkipPseudoOp) const {
for (const Instruction &I : *this) {
if (isa<PHINode>(I) || isa<DbgInfoIntrinsic>(I))
continue;
if (SkipPseudoOp && isa<PseudoProbeInst>(I))
continue;
- return &I;
+ BasicBlock::const_iterator It = I.getIterator();
+ // Signal that this comes after any debug records.
+ It.setHeadBit(false);
----------------
OCHyams wrote:
When does `Instruction::getIterator` return an iterator with head bit set? Can this be an assert (that it's not set) instead?
https://github.com/llvm/llvm-project/pull/124287
More information about the llvm-commits
mailing list