[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
@@ -408,9 +412,13 @@ BasicBlock::getFirstNonPHIOrDbgOrLifetime(bool SkipPseudoOp) const { if (SkipPseudoOp && isa(I)) continue; -return &I; +BasicBlock::const_iterator It = I.getIterator(); +// Signal that this comes after any debug records. +It.setHeadBit(false); OCHyams wrote: Same question again https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
@@ -1656,7 +1656,8 @@ static Value *emitSetAndGetSwiftErrorValueAround(Instruction *Call, Builder.SetInsertPoint(Call->getNextNode()); } else { auto Invoke = cast(Call); -Builder.SetInsertPoint(Invoke->getNormalDest()->getFirstNonPHIOrDbg()); +BasicBlock::iterator It = Invoke->getNormalDest()->getFirstNonPHIOrDbg(); +Builder.SetInsertPoint(It); OCHyams wrote: Why is this change necessary? https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
https://github.com/OCHyams edited https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
https://github.com/OCHyams approved this pull request. LGTM + nits https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
@@ -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(I) || isa(I)) continue; if (SkipPseudoOp && isa(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 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
@@ -448,6 +455,9 @@ BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrDbgOrAlloca() const { ++InsertPt; } } + + // Signal that this comes after any debug records. + InsertPt.setHeadBit(false); OCHyams wrote: And again https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] [llvm] [NFC][DebugInfo] Make some block-start-position methods return iterators (PR #124287)
https://github.com/OCHyams approved this pull request. Thanks, still LGTM https://github.com/llvm/llvm-project/pull/124287 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits