Skip to content

[Utils] Consolidate LockstepReverseIterator into own header (NFC) #116657

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 21, 2025

Conversation

antoniofrighetto
Copy link
Contributor

@antoniofrighetto antoniofrighetto commented Nov 18, 2024

Common code has been unified and generalized. Not sure if it may be worth to generalize this further, since it looks closely tied to Blocks (might make sense to rename it in LockstepReverseInstructionIterator).

Common code has been unified and generalized.
@llvmbot
Copy link
Member

llvmbot commented Nov 18, 2024

@llvm/pr-subscribers-llvm-transforms

Author: Antonio Frighetto (antoniofrighetto)

Changes

Common code has been unified and generalized. Not sure if it may be worth to generalize this further, since it looks closely tied Blocks (might make sense to rename it in LockstepReverseInstructionIterator).


Full diff: https://github.com/llvm/llvm-project/pull/116657.diff

3 Files Affected:

  • (added) llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h (+160)
  • (modified) llvm/lib/Transforms/Scalar/GVNSink.cpp (+8-86)
  • (modified) llvm/lib/Transforms/Utils/SimplifyCFG.cpp (+3-77)
diff --git a/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h b/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
new file mode 100644
index 00000000000000..e5fde398f0e4c6
--- /dev/null
+++ b/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
@@ -0,0 +1,160 @@
+//===- LockstepReverseIterator.h ------------------------------*- C++ -*---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TRANSFORMS_UTILS_LOCKSTEPREVERSEITERATOR_H
+#define LLVM_TRANSFORMS_UTILS_LOCKSTEPREVERSEITERATOR_H
+
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SetVector.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/IR/BasicBlock.h"
+#include "llvm/IR/Instruction.h"
+
+namespace llvm {
+
+struct NoActiveBlocksOption {
+  template <typename... Args> NoActiveBlocksOption(Args...) {}
+};
+
+struct ActiveBlocksOption {
+protected:
+  SmallSetVector<BasicBlock *, 4> ActiveBlocks;
+
+public:
+  ActiveBlocksOption() = default;
+};
+
+/// Iterates through instructions in a set of blocks in reverse order from the
+/// first non-terminator. For example (assume all blocks have size n):
+///   LockstepReverseIterator I([B1, B2, B3]);
+///   *I-- = [B1[n], B2[n], B3[n]];
+///   *I-- = [B1[n-1], B2[n-1], B3[n-1]];
+///   *I-- = [B1[n-2], B2[n-2], B3[n-2]];
+///   ...
+///
+/// The iterator continues processing until all blocks have been exhausted if \p
+/// EarlyFailure is explicitly set to \c false. Use \c getActiveBlocks() to
+/// determine which blocks are still going and the order they appear in the list
+/// returned by operator*.
+template <bool EarlyFailure = true>
+class LockstepReverseIterator
+    : public std::conditional_t<EarlyFailure, NoActiveBlocksOption,
+                                ActiveBlocksOption> {
+private:
+  using BasicBlockT = BasicBlock;
+  using InstructionT = Instruction;
+
+  ArrayRef<BasicBlockT *> Blocks;
+  SmallVector<InstructionT *, 4> Insts;
+  bool Fail;
+
+public:
+  LockstepReverseIterator(ArrayRef<BasicBlockT *> Blocks) : Blocks(Blocks) {
+    reset();
+  }
+
+  void reset() {
+    Fail = false;
+    if constexpr (!EarlyFailure) {
+      this->ActiveBlocks.clear();
+      for (BasicBlockT *BB : Blocks)
+        this->ActiveBlocks.insert(BB);
+    }
+    Insts.clear();
+    for (BasicBlockT *BB : Blocks) {
+      InstructionT *Prev = BB->getTerminator()->getPrevNonDebugInstruction();
+      if (!Prev) {
+        // Block wasn't big enough - only contained a terminator.
+        if constexpr (EarlyFailure) {
+          Fail = true;
+          return;
+        } else {
+          this->ActiveBlocks.remove(BB);
+          continue;
+        }
+      }
+      Insts.push_back(Prev);
+    }
+    if (Insts.empty())
+      Fail = true;
+  }
+
+  bool isValid() const { return !Fail; }
+  ArrayRef<InstructionT *> operator*() const { return Insts; }
+
+  // Note: This needs to return a SmallSetVector as the elements of
+  // ActiveBlocks will be later copied to Blocks using std::copy. The
+  // resultant order of elements in Blocks needs to be deterministic.
+  // Using SmallPtrSet instead causes non-deterministic order while
+  // copying. And we cannot simply sort Blocks as they need to match the
+  // corresponding Values.
+  template <bool C = EarlyFailure, std::enable_if_t<!C, int> = 0>
+  SmallSetVector<BasicBlockT *, 4> &getActiveBlocks() {
+    return this->ActiveBlocks;
+  }
+
+  template <bool C = EarlyFailure, std::enable_if_t<!C, int> = 0>
+  void restrictToBlocks(SmallSetVector<BasicBlockT *, 4> &Blocks) {
+    for (auto It = Insts.begin(); It != Insts.end();) {
+      if (!Blocks.contains((*It)->getParent())) {
+        this->ActiveBlocks.remove((*It)->getParent());
+        It = Insts.erase(It);
+      } else {
+        ++It;
+      }
+    }
+  }
+
+  void operator--() {
+    if (Fail)
+      return;
+    SmallVector<InstructionT *, 4> NewInsts;
+    for (InstructionT *Inst : Insts) {
+      InstructionT *Prev = Inst->getPrevNonDebugInstruction();
+      if (!Prev) {
+        if constexpr (!EarlyFailure) {
+          this->ActiveBlocks.remove(Inst->getParent());
+        } else {
+          Fail = true;
+          return;
+        }
+      } else {
+        NewInsts.push_back(Prev);
+      }
+    }
+    if (NewInsts.empty()) {
+      Fail = true;
+      return;
+    }
+    Insts = NewInsts;
+  }
+
+  void operator++() {
+    if (Fail)
+      return;
+    SmallVector<InstructionT *, 4> NewInsts;
+    for (InstructionT *Inst : Insts) {
+      InstructionT *Next = Inst->getNextNonDebugInstruction();
+      // Already at end of block.
+      if (!Next) {
+        Fail = true;
+        return;
+      }
+      NewInsts.push_back(Next);
+    }
+    if (NewInsts.empty()) {
+      Fail = true;
+      return;
+    }
+    Insts = NewInsts;
+  }
+};
+
+} // end namespace llvm
+
+#endif // LLVM_TRANSFORMS_UTILS_LOCKSTEPREVERSEITERATOR_H
diff --git a/llvm/lib/Transforms/Scalar/GVNSink.cpp b/llvm/lib/Transforms/Scalar/GVNSink.cpp
index 730f5cd0f8d0d7..8fc09db668fe43 100644
--- a/llvm/lib/Transforms/Scalar/GVNSink.cpp
+++ b/llvm/lib/Transforms/Scalar/GVNSink.cpp
@@ -65,6 +65,7 @@
 #include "llvm/Transforms/Scalar/GVNExpression.h"
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/Transforms/Utils/Local.h"
+#include "llvm/Transforms/Utils/LockstepReverseIterator.h"
 #include <cassert>
 #include <cstddef>
 #include <cstdint>
@@ -96,87 +97,6 @@ static bool isMemoryInst(const Instruction *I) {
          (isa<CallInst>(I) && !cast<CallInst>(I)->doesNotAccessMemory());
 }
 
-/// Iterates through instructions in a set of blocks in reverse order from the
-/// first non-terminator. For example (assume all blocks have size n):
-///   LockstepReverseIterator I([B1, B2, B3]);
-///   *I-- = [B1[n], B2[n], B3[n]];
-///   *I-- = [B1[n-1], B2[n-1], B3[n-1]];
-///   *I-- = [B1[n-2], B2[n-2], B3[n-2]];
-///   ...
-///
-/// It continues until all blocks have been exhausted. Use \c getActiveBlocks()
-/// to
-/// determine which blocks are still going and the order they appear in the
-/// list returned by operator*.
-class LockstepReverseIterator {
-  ArrayRef<BasicBlock *> Blocks;
-  SmallSetVector<BasicBlock *, 4> ActiveBlocks;
-  SmallVector<Instruction *, 4> Insts;
-  bool Fail;
-
-public:
-  LockstepReverseIterator(ArrayRef<BasicBlock *> Blocks) : Blocks(Blocks) {
-    reset();
-  }
-
-  void reset() {
-    Fail = false;
-    ActiveBlocks.clear();
-    for (BasicBlock *BB : Blocks)
-      ActiveBlocks.insert(BB);
-    Insts.clear();
-    for (BasicBlock *BB : Blocks) {
-      if (BB->size() <= 1) {
-        // Block wasn't big enough - only contained a terminator.
-        ActiveBlocks.remove(BB);
-        continue;
-      }
-      Insts.push_back(BB->getTerminator()->getPrevNonDebugInstruction());
-    }
-    if (Insts.empty())
-      Fail = true;
-  }
-
-  bool isValid() const { return !Fail; }
-  ArrayRef<Instruction *> operator*() const { return Insts; }
-
-  // Note: This needs to return a SmallSetVector as the elements of
-  // ActiveBlocks will be later copied to Blocks using std::copy. The
-  // resultant order of elements in Blocks needs to be deterministic.
-  // Using SmallPtrSet instead causes non-deterministic order while
-  // copying. And we cannot simply sort Blocks as they need to match the
-  // corresponding Values.
-  SmallSetVector<BasicBlock *, 4> &getActiveBlocks() { return ActiveBlocks; }
-
-  void restrictToBlocks(SmallSetVector<BasicBlock *, 4> &Blocks) {
-    for (auto II = Insts.begin(); II != Insts.end();) {
-      if (!Blocks.contains((*II)->getParent())) {
-        ActiveBlocks.remove((*II)->getParent());
-        II = Insts.erase(II);
-      } else {
-        ++II;
-      }
-    }
-  }
-
-  void operator--() {
-    if (Fail)
-      return;
-    SmallVector<Instruction *, 4> NewInsts;
-    for (auto *Inst : Insts) {
-      if (Inst == &Inst->getParent()->front())
-        ActiveBlocks.remove(Inst->getParent());
-      else
-        NewInsts.push_back(Inst->getPrevNonDebugInstruction());
-    }
-    if (NewInsts.empty()) {
-      Fail = true;
-      return;
-    }
-    Insts = NewInsts;
-  }
-};
-
 //===----------------------------------------------------------------------===//
 
 /// Candidate solution for sinking. There may be different ways to
@@ -634,9 +554,11 @@ class GVNSink {
   /// The main heuristic function. Analyze the set of instructions pointed to by
   /// LRI and return a candidate solution if these instructions can be sunk, or
   /// std::nullopt otherwise.
-  std::optional<SinkingInstructionCandidate> analyzeInstructionForSinking(
-      LockstepReverseIterator &LRI, unsigned &InstNum, unsigned &MemoryInstNum,
-      ModelledPHISet &NeededPHIs, SmallPtrSetImpl<Value *> &PHIContents);
+  std::optional<SinkingInstructionCandidate>
+  analyzeInstructionForSinking(LockstepReverseIterator<false> &LRI,
+                               unsigned &InstNum, unsigned &MemoryInstNum,
+                               ModelledPHISet &NeededPHIs,
+                               SmallPtrSetImpl<Value *> &PHIContents);
 
   /// Create a ModelledPHI for each PHI in BB, adding to PHIs.
   void analyzeInitialPHIs(BasicBlock *BB, ModelledPHISet &PHIs,
@@ -675,7 +597,7 @@ class GVNSink {
 };
 
 std::optional<SinkingInstructionCandidate>
-GVNSink::analyzeInstructionForSinking(LockstepReverseIterator &LRI,
+GVNSink::analyzeInstructionForSinking(LockstepReverseIterator<false> &LRI,
                                       unsigned &InstNum,
                                       unsigned &MemoryInstNum,
                                       ModelledPHISet &NeededPHIs,
@@ -827,7 +749,7 @@ unsigned GVNSink::sinkBB(BasicBlock *BBEnd) {
     return BB->getTerminator()->getNumSuccessors() != 1;
   });
 
-  LockstepReverseIterator LRI(Preds);
+  LockstepReverseIterator<false> LRI(Preds);
   SmallVector<SinkingInstructionCandidate, 4> Candidates;
   unsigned InstNum = 0, MemoryInstNum = 0;
   ModelledPHISet NeededPHIs;
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 1991ec82d1e1e4..7440ca46c8d27d 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -74,6 +74,7 @@
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"
 #include "llvm/Transforms/Utils/Local.h"
+#include "llvm/Transforms/Utils/LockstepReverseIterator.h"
 #include "llvm/Transforms/Utils/ValueMapper.h"
 #include <algorithm>
 #include <cassert>
@@ -2326,81 +2327,6 @@ static void sinkLastInstruction(ArrayRef<BasicBlock*> Blocks) {
   }
 }
 
-namespace {
-
-  // LockstepReverseIterator - Iterates through instructions
-  // in a set of blocks in reverse order from the first non-terminator.
-  // For example (assume all blocks have size n):
-  //   LockstepReverseIterator I([B1, B2, B3]);
-  //   *I-- = [B1[n], B2[n], B3[n]];
-  //   *I-- = [B1[n-1], B2[n-1], B3[n-1]];
-  //   *I-- = [B1[n-2], B2[n-2], B3[n-2]];
-  //   ...
-  class LockstepReverseIterator {
-    ArrayRef<BasicBlock*> Blocks;
-    SmallVector<Instruction*,4> Insts;
-    bool Fail;
-
-  public:
-    LockstepReverseIterator(ArrayRef<BasicBlock*> Blocks) : Blocks(Blocks) {
-      reset();
-    }
-
-    void reset() {
-      Fail = false;
-      Insts.clear();
-      for (auto *BB : Blocks) {
-        Instruction *Inst = BB->getTerminator();
-        for (Inst = Inst->getPrevNode(); Inst && isa<DbgInfoIntrinsic>(Inst);)
-          Inst = Inst->getPrevNode();
-        if (!Inst) {
-          // Block wasn't big enough.
-          Fail = true;
-          return;
-        }
-        Insts.push_back(Inst);
-      }
-    }
-
-    bool isValid() const {
-      return !Fail;
-    }
-
-    void operator--() {
-      if (Fail)
-        return;
-      for (auto *&Inst : Insts) {
-        for (Inst = Inst->getPrevNode(); Inst && isa<DbgInfoIntrinsic>(Inst);)
-          Inst = Inst->getPrevNode();
-        // Already at beginning of block.
-        if (!Inst) {
-          Fail = true;
-          return;
-        }
-      }
-    }
-
-    void operator++() {
-      if (Fail)
-        return;
-      for (auto *&Inst : Insts) {
-        for (Inst = Inst->getNextNode(); Inst && isa<DbgInfoIntrinsic>(Inst);)
-          Inst = Inst->getNextNode();
-        // Already at end of block.
-        if (!Inst) {
-          Fail = true;
-          return;
-        }
-      }
-    }
-
-    ArrayRef<Instruction*> operator * () const {
-      return Insts;
-    }
-  };
-
-} // end anonymous namespace
-
 /// Check whether BB's predecessors end with unconditional branches. If it is
 /// true, sink any common code from the predecessors to BB.
 static bool sinkCommonCodeFromPredecessors(BasicBlock *BB,
@@ -2477,7 +2403,7 @@ static bool sinkCommonCodeFromPredecessors(BasicBlock *BB,
 
   int ScanIdx = 0;
   SmallPtrSet<Value*,4> InstructionsToSink;
-  LockstepReverseIterator LRI(UnconditionalPreds);
+  LockstepReverseIterator<true> LRI(UnconditionalPreds);
   while (LRI.isValid() &&
          canSinkInstructions(*LRI, PHIOperands)) {
     LLVM_DEBUG(dbgs() << "SINK: instruction can be sunk: " << *(*LRI)[0]
@@ -2507,7 +2433,7 @@ static bool sinkCommonCodeFromPredecessors(BasicBlock *BB,
     // Okay, we *could* sink last ScanIdx instructions. But how many can we
     // actually sink before encountering instruction that is unprofitable to
     // sink?
-    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator &LRI) {
+    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
       unsigned NumPHIInsts = 0;
       for (Use &U : (*LRI)[0]->operands()) {
         auto It = PHIOperands.find(&U);

@antoniofrighetto
Copy link
Contributor Author

Kind ping.

template <typename... Args> NoActiveBlocksOption(Args...) {}
};

struct ActiveBlocksOption {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use class.

Copy link
Contributor Author

@antoniofrighetto antoniofrighetto Dec 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather favour struct for consistency, as we keep the default constructor private for NoActiveBlocksOption, unless it's a strong concern.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW https://llvm.org/docs/CodingStandards.html#use-of-class-and-struct-keywords says to use struct when all members are public, which isn't the case here

@antoniofrighetto
Copy link
Contributor Author

Gentle ping.

Copy link
Member

@dtcxzyw dtcxzyw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Insts = NewInsts;
}

void operator++() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
void operator++() {
void operator++() {
static_assert(!EarlyFailure, "Unknown method");

This method does not maintain the set of active blocks.

template <typename... Args> NoActiveBlocksOption(Args...) {}
};

struct ActiveBlocksOption {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW https://llvm.org/docs/CodingStandards.html#use-of-class-and-struct-keywords says to use struct when all members are public, which isn't the case here

Comment on lines 44 to 45
: public std::conditional_t<EarlyFailure, NoActiveBlocksOption,
ActiveBlocksOption> {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps this should use private inheritance? (then the bases could both be structs with public members, since they'd become private here anyway?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switched to private and using structs is justified now, thanks!

Comment on lines 91 to 95
SmallSetVector<BasicBlock *, 4> &getActiveBlocks() {
static_assert(!EarlyFailure, "Unknown method");
return this->ActiveBlocks;
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be a member of the active blocks base, so it's just totally not defined on the inactive version? (then there'd be no need for the static assert, and maybe it'd be better for compiler diagnostics?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, though we still need to expose getActiveBlocks in the derived as well, as the base one is now constrained by private inheritance.

}
}

void operator--() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this an op++ return iterators?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks!

@dwblaikie dwblaikie merged commit 123dca9 into llvm:main Feb 21, 2025
8 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-sie-ubuntu-fast running on sie-linux-worker while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/144/builds/18601

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
2.898 [77/13/45] Linking CXX executable bin/llvm-rtdyld
2.901 [77/12/46] Generating ../../bin/llvm-otool
2.903 [77/11/47] Linking CXX executable bin/obj2yaml
2.919 [77/10/48] Linking CXX executable bin/llvm-readtapi
2.922 [77/9/49] Linking CXX executable bin/sanstats
2.925 [77/8/50] Linking CXX executable bin/llvm-debuginfo-analyzer
2.930 [77/7/51] Linking CXX executable bin/sancov
2.973 [77/6/52] Linking CXX executable bin/llvm-cfi-verify
2.979 [77/5/53] Linking CXX executable bin/llvm-xray
4.451 [77/4/54] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/g++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/lib/Transforms/Utils -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
4.518 [77/3/55] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
11.848 [77/2/56] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
12.401 [77/1/57] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder ppc64le-mlir-rhel-clang running on ppc64le-mlir-rhel-test while building llvm at step 5 "build-check-mlir-build-only".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/129/builds/15287

Here is the relevant piece of the build log for the reference
Step 5 (build-check-mlir-build-only) failure: build (failure)
...
90.644 [215/13/3947] Linking CXX static library lib/libMLIRTestVectorToSPIRV.a
90.656 [215/12/3948] Linking CXX static library lib/libMLIRTensorToLinalg.a
90.662 [215/11/3949] Linking CXX static library lib/libMLIRMeshToMPI.a
90.700 [215/10/3950] Linking CXX static library lib/libMLIRGPUToSPIRV.a
90.715 [215/9/3951] Linking CXX executable tools/mlir/unittests/Transforms/MLIRTransformsTests
90.916 [215/8/3952] Linking CXX executable tools/mlir/unittests/Dialect/SparseTensor/MLIRSparseTensorTests
91.140 [215/7/3953] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/PreISelIntrinsicLowering.cpp.o
91.158 [215/6/3954] Linking CXX executable tools/mlir/unittests/Dialect/SPIRV/MLIRSPIRVImportExportTests
91.250 [215/5/3955] Building CXX object tools/mlir/test/lib/Dialect/Affine/CMakeFiles/MLIRAffineTransformsTestPasses.dir/TestAccessAnalysis.cpp.o
93.936 [215/4/3956] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /home/buildbots/llvm-external-buildbots/clang.19.1.7/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/lib/Transforms/Utils -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
   41 | class LockstepReverseIterator
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
 1787 | class LockstepReverseIterator {
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
   41 | class LockstepReverseIterator
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
 1787 | class LockstepReverseIterator {
      |       ^
2 errors generated.
99.796 [215/3/3957] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
103.371 [215/2/3958] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
133.618 [215/1/3959] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder ppc64le-flang-rhel-clang running on ppc64le-flang-rhel-test while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/157/builds/20624

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
15.145 [501/14/6217] Linking CXX static library lib/libMLIRCAPILinalg.a
15.150 [501/13/6218] Linking CXX static library lib/libMLIRGPUToSPIRV.a
15.166 [501/12/6219] Building CXX object tools/mlir/tools/mlir-lsp-server/CMakeFiles/mlir-lsp-server.dir/mlir-lsp-server.cpp.o
15.178 [501/11/6220] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
15.184 [501/10/6221] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
15.439 [501/9/6222] Building CXX object tools/clang/lib/Driver/CMakeFiles/obj.clangDriver.dir/ToolChains/HIPUtility.cpp.o
15.508 [501/8/6223] Building CXX object tools/mlir/test/lib/Transforms/CMakeFiles/MLIRTestTransforms.dir/TestDialectConversion.cpp.o
15.625 [501/7/6224] Building CXX object tools/mlir/test/lib/Tools/PDLL/CMakeFiles/MLIRTestPDLL.dir/TestPDLL.cpp.o
16.927 [501/6/6225] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
19.697 [501/5/6226] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /home/buildbots/llvm-external-buildbots/clang.19.1.7/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/lib/Transforms/Utils -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
   41 | class LockstepReverseIterator
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
 1787 | class LockstepReverseIterator {
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
   41 | class LockstepReverseIterator
      |       ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
 1787 | class LockstepReverseIterator {
      |       ^
2 errors generated.
27.636 [501/4/6227] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
30.844 [501/3/6228] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
59.827 [501/2/6229] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
61.148 [501/1/6230] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-rel-x86-64 running on ml-opt-rel-x86-64-b1 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/185/builds/13529

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
45.344 [1473/13/2351] Building CXX object lib/Target/RISCV/MCTargetDesc/CMakeFiles/LLVMRISCVDesc.dir/RISCVTargetStreamer.cpp.o
45.344 [1473/12/2352] Building CXX object lib/Target/RISCV/MCTargetDesc/CMakeFiles/LLVMRISCVDesc.dir/RISCVInstPrinter.cpp.o
45.345 [1473/11/2353] Building CXX object lib/Target/RISCV/AsmParser/CMakeFiles/LLVMRISCVAsmParser.dir/RISCVAsmParser.cpp.o
45.363 [1473/10/2354] Building CXX object lib/Target/RISCV/MCTargetDesc/CMakeFiles/LLVMRISCVDesc.dir/RISCVMCTargetDesc.cpp.o
45.397 [1472/10/2355] Linking CXX static library lib/libLLVMRISCVDesc.a
45.412 [1469/12/2356] Linking CXX static library lib/libLLVMRISCVTargetMCA.a
45.413 [1469/11/2357] Linking CXX static library lib/libLLVMRISCVDisassembler.a
45.414 [1469/10/2358] Linking CXX static library lib/libLLVMRISCVAsmParser.a
49.446 [1469/9/2359] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
49.646 [1469/8/2360] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/ml-opt-rel-x86-64-b1/build/lib/Transforms/Utils -I/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils -I/var/lib/buildbot/.local/lib/python3.7/site-packages/tensorflow/include -I/b/ml-opt-rel-x86-64-b1/build/include -I/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/b/ml-opt-rel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
51.525 [1469/7/2361] Building AMDGPUGenAsmWriter.inc...
53.259 [1469/6/2362] Building AMDGPUGenGlobalISel.inc...
53.996 [1469/5/2363] Building AMDGPUGenDAGISel.inc...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-dev-x86-64 running on ml-opt-dev-x86-64-b1 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/137/builds/13768

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
33.992 [1573/64/2167] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CollectLOH.cpp.o
34.012 [1572/64/2168] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CondBrTuning.cpp.o
34.014 [1571/64/2169] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ConditionalCompares.cpp.o
34.015 [1570/64/2170] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64DeadRegisterDefinitionsPass.cpp.o
34.024 [1569/64/2171] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ExpandImm.cpp.o
34.032 [1568/64/2172] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64ExpandPseudoInsts.cpp.o
34.052 [1567/64/2173] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FalkorHWPFFix.cpp.o
34.060 [1566/64/2174] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FrameLowering.cpp.o
34.068 [1565/64/2175] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64CompressJumpTables.cpp.o
34.076 [1564/64/2176] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /usr/bin/c++ -DCPUINFO_SUPPORTED_PLATFORM=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/ml-opt-dev-x86-64-b1/build/lib/Transforms/Utils -I/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils -I/b/ml-opt-dev-x86-64-b1/build/include -I/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include -isystem /tmp/tflitebuild/tensorflow/include -isystem /tmp/tflitebuild/eigen/include/eigen3 -isystem /tmp/tflitebuild/abseil-cpp/include -isystem /tmp/tflitebuild/flatbuffers/include -isystem /tmp/tflitebuild/gemmlowp/include/gemmlowp -isystem /tmp/tflitebuild/ml_dtypes/src/ml_dtypes -isystem /tmp/tflitebuild/ml_dtypes/src/ml_dtypes/ml_dtypes -isystem /tmp/tflitebuild/ruy/include -isystem /tmp/tflitebuild/cpuinfo/include -isystem /tmp/tflitebuild/ARM_NEON_2_x86_SSE/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -DEIGEN_NEON_GEBP_NR=4 -DTFL_STATIC_LIBRARY_BUILD -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
34.076 [1564/63/2177] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
34.077 [1564/62/2178] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64FastISel.cpp.o
34.077 [1564/61/2179] Building CXX object lib/Target/AArch64/CMakeFiles/LLVMAArch64CodeGen.dir/AArch64A53Fix835769.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-devrel-x86-64 running on ml-opt-devrel-x86-64-b1 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/175/builds/13585

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
78.482 [1523/29/2285] Building CXX object lib/Target/AArch64/Utils/CMakeFiles/LLVMAArch64Utils.dir/AArch64BaseInfo.cpp.o
78.570 [1522/29/2286] Linking CXX static library lib/libLLVMAArch64Utils.a
78.688 [1521/29/2287] Linking CXX static library lib/libLLVMAArch64Desc.a
78.758 [1520/29/2288] Linking CXX static library lib/libLLVMAArch64Disassembler.a
78.807 [1520/28/2289] Building AMDGPUGenRegBankGICombiner.inc...
79.284 [1520/27/2290] Building AMDGPUGenCallingConv.inc...
79.627 [1520/26/2291] Building AMDGPUGenPreLegalizeGICombiner.inc...
79.769 [1520/25/2292] Building CXX object tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o
80.143 [1519/25/2293] Building AMDGPUGenMCPseudoLowering.inc...
80.454 [1519/24/2294] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /usr/bin/c++ -DCPUINFO_SUPPORTED_PLATFORM=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/ml-opt-devrel-x86-64-b1/build/lib/Transforms/Utils -I/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils -I/var/lib/buildbot/.local/lib/python3.7/site-packages/tensorflow/include -I/b/ml-opt-devrel-x86-64-b1/build/include -I/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/include -isystem /tmp/tflitebuild/tensorflow/include -isystem /tmp/tflitebuild/eigen/include/eigen3 -isystem /tmp/tflitebuild/abseil-cpp/include -isystem /tmp/tflitebuild/flatbuffers/include -isystem /tmp/tflitebuild/gemmlowp/include/gemmlowp -isystem /tmp/tflitebuild/ml_dtypes/src/ml_dtypes -isystem /tmp/tflitebuild/ml_dtypes/src/ml_dtypes/ml_dtypes -isystem /tmp/tflitebuild/ruy/include -isystem /tmp/tflitebuild/cpuinfo/include -isystem /tmp/tflitebuild/ARM_NEON_2_x86_SSE/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -DEIGEN_NEON_GEBP_NR=4 -DTFL_STATIC_LIBRARY_BUILD -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
80.630 [1519/23/2295] Building CXX object lib/Frontend/Offloading/CMakeFiles/LLVMFrontendOffloading.dir/Utility.cpp.o
80.656 [1519/22/2296] Linking CXX executable bin/obj2yaml
80.919 [1519/21/2297] Building CXX object tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/COFFDumper.cpp.o

fhahn added a commit that referenced this pull request Feb 21, 2025
… (NFC) (#116657)"

This reverts commit 123dca9.

This breaks building on macOS with clang and multiple build bots,
including https://lab.llvm.org/buildbot/#/builders/175/builds/13585

    llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
    /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
     2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
          |   ^~~~~~~~~~~~~~~~~~~~~~~
@fhahn
Copy link
Contributor

fhahn commented Feb 21, 2025

Unfortunately this breaks building on macOS with Clang and multiple build bots. I reverted the change for now in 236fa50 to get things back to building.

@jplehr
Copy link
Contributor

jplehr commented Feb 21, 2025

Unfortunately this breaks building on macOS with Clang and multiple build bots. I reverted the change for now in 236fa50 to get things back to building.

Thank you, this (I think) broke all our builds.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-win-fast running on as-builder-3 while building llvm at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/2/builds/17612

Here is the relevant piece of the build log for the reference
Step 6 (build-unified-tree) failure: build (failure)
...
[2629/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\GCOV.cpp.obj
[2630/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\PackedVersion.cpp.obj
[2631/4123] Building CXX object lib\AsmParser\CMakeFiles\LLVMAsmParser.dir\Parser.cpp.obj
[2632/4123] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilderBindings.cpp.obj
[2633/4123] Building CXX object lib\ProfileData\Coverage\CMakeFiles\LLVMCoverage.dir\CoverageMappingReader.cpp.obj
[2634/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\PGOCtxProfWriter.cpp.obj
[2635/4123] Building CXX object lib\AsmParser\CMakeFiles\LLVMAsmParser.dir\LLParser.cpp.obj
[2636/4123] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\CodeGenPassBuilder.cpp.obj
[2637/4123] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\StandardInstrumentations.cpp.obj
[2638/4123] Building CXX object lib\Transforms\Utils\CMakeFiles\LLVMTransformUtils.dir\SimplifyCFG.cpp.obj
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.obj 
C:\ninja\ccache.exe C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1438~1.331\bin\Hostx64\x64\cl.exe  /nologo /TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\lib\Transforms\Utils -IC:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils -IC:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\include -IC:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2 /DNDEBUG -MD  /EHs-c- /GR- -std:c++17 /showIncludes /Folib\Transforms\Utils\CMakeFiles\LLVMTransformUtils.dir\SimplifyCFG.cpp.obj /Fdlib\Transforms\Utils\CMakeFiles\LLVMTransformUtils.dir\LLVMTransformUtils.pdb /FS -c C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils\SimplifyCFG.cpp
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils\SimplifyCFG.cpp(2503): error C2872: 'LockstepReverseIterator': ambiguous symbol
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\include\llvm/Transforms/Utils/LockstepReverseIterator.h(42): note: could be 'llvm::LockstepReverseIterator'
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils\SimplifyCFG.cpp(1787): note: or       '`anonymous-namespace'::LockstepReverseIterator'
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils\SimplifyCFG.cpp(2533): error C2872: 'LockstepReverseIterator': ambiguous symbol
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\include\llvm/Transforms/Utils/LockstepReverseIterator.h(42): note: could be 'llvm::LockstepReverseIterator'
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\lib\Transforms\Utils\SimplifyCFG.cpp(1787): note: or       '`anonymous-namespace'::LockstepReverseIterator'
[2639/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\Triple.cpp.obj
[2640/4123] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilderPipelines.cpp.obj
[2641/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\Architecture.cpp.obj
[2642/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\InterfaceFile.cpp.obj
[2643/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\TextStubCommon.cpp.obj
[2644/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\TargetParser.cpp.obj
[2645/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\SymbolRemappingReader.cpp.obj
[2646/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\TextStubV5.cpp.obj
[2647/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\SubtargetFeature.cpp.obj
[2648/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\TextStub.cpp.obj
[2649/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\RISCVISAInfo.cpp.obj
[2650/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\AArch64TargetParser.cpp.obj
[2651/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\SampleProf.cpp.obj
[2652/4123] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilder.cpp.obj
[2653/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\InstrProf.cpp.obj
[2654/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\MemProfReader.cpp.obj
[2655/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\InstrProfCorrelator.cpp.obj
[2656/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\SampleProfWriter.cpp.obj
[2657/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\SampleProfReader.cpp.obj
[2658/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\InstrProfWriter.cpp.obj
[2659/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\InstrProfReader.cpp.obj
[2660/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\PGOCtxProfReader.cpp.obj
[2661/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\MemProf.cpp.obj
[2662/4123] Building CXX object lib\ProfileData\Coverage\CMakeFiles\LLVMCoverage.dir\CoverageMappingWriter.cpp.obj
[2663/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\TextAPIError.cpp.obj
[2664/4123] Building CXX object lib\ProfileData\Coverage\CMakeFiles\LLVMCoverage.dir\CoverageMapping.cpp.obj
[2665/4123] Building CXX object lib\ProfileData\CMakeFiles\LLVMProfileData.dir\ProfileSummaryBuilder.cpp.obj
[2666/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\CSKYTargetParser.cpp.obj
[2667/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\X86TargetParser.cpp.obj
[2668/4123] Building CXX object lib\TargetParser\CMakeFiles\LLVMTargetParser.dir\Host.cpp.obj
[2669/4123] Building CXX object lib\TextAPI\CMakeFiles\LLVMTextAPI.dir\RecordVisitor.cpp.obj

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder llvm-nvptx-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/180/builds/13363

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:176:33:   required from ‘bool llvm::VPlanPatternMatch::Recipe_match<Ops_t, Opcode, Commutative, RecipeTys>::match(const llvm::VPRecipeBase*) const [with Ops_t = std::tuple<>; unsigned int Opcode = 0; bool Commutative = false; RecipeTys = {llvm::VPCanonicalIVPHIRecipe}]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:147:25:   required from ‘bool llvm::VPlanPatternMatch::Recipe_match<Ops_t, Opcode, Commutative, RecipeTys>::match(const llvm::VPValue*) const [with Ops_t = std::tuple<>; unsigned int Opcode = 0; bool Commutative = false; RecipeTys = {llvm::VPCanonicalIVPHIRecipe}]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:171:45:   required from ‘llvm::VPlanPatternMatch::Recipe_match<std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >, 0, false, llvm::VPScalarIVStepsRecipe>::match(const llvm::VPRecipeBase*) const::<lambda(auto:26, unsigned int)> [with auto:26 = llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:200:14:   required from ‘bool llvm::VPlanPatternMatch::Recipe_match<Ops_t, Opcode, Commutative, RecipeTys>::all_of_tuple_elements(std::index_sequence<Idx ...>, Fn) const [with Fn = llvm::VPlanPatternMatch::Recipe_match<std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >, 0, false, llvm::VPScalarIVStepsRecipe>::match(const llvm::VPRecipeBase*) const::<lambda(auto:26, unsigned int)>; long unsigned int ...Is = {0, 1}; Ops_t = std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >; unsigned int Opcode = 0; bool Commutative = false; RecipeTys = {llvm::VPScalarIVStepsRecipe}; std::index_sequence<Idx ...> = std::integer_sequence<long unsigned int, 0, 1>]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:170:30:   required from ‘bool llvm::VPlanPatternMatch::Recipe_match<Ops_t, Opcode, Commutative, RecipeTys>::match(const llvm::VPRecipeBase*) const [with Ops_t = std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >; unsigned int Opcode = 0; bool Commutative = false; RecipeTys = {llvm::VPScalarIVStepsRecipe}]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:147:25:   required from ‘bool llvm::VPlanPatternMatch::Recipe_match<Ops_t, Opcode, Commutative, RecipeTys>::match(const llvm::VPValue*) const [with Ops_t = std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >; unsigned int Opcode = 0; bool Commutative = false; RecipeTys = {llvm::VPScalarIVStepsRecipe}]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:29:17:   required from ‘bool llvm::VPlanPatternMatch::match(Val*, const Pattern&) [with Val = llvm::VPValue; Pattern = llvm::VPlanPatternMatch::Recipe_match<std::tuple<llvm::VPlanPatternMatch::Recipe_match<std::tuple<>, 0, false, llvm::VPCanonicalIVPHIRecipe>, llvm::VPlanPatternMatch::specific_intval<0> >, 0, false, llvm::VPScalarIVStepsRecipe>]’
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanUtils.cpp:65:18:   required from here
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h:199:61: warning: parameter ‘P’ set but not used [-Wunused-but-set-parameter]
50.187 [688/6/2022] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/build/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/build/include -I/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fPIC  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
53.658 [688/4/2024] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
60.316 [688/2/2026] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
60.464 [688/1/2027] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder llvm-nvptx64-nvidia-ubuntu running on as-builder-7 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/160/builds/13366

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder bolt-x86_64-ubuntu-nfc running on bolt-worker while building llvm at step 7 "build-bolt".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/92/builds/14046

Here is the relevant piece of the build log for the reference
Step 7 (build-bolt) failure: build (failure)
...
11.565 [171/15/202] Building CXX object tools/bolt/lib/Target/X86/CMakeFiles/LLVMBOLTTargetX86.dir/X86MCPlusBuilder.cpp.o
In file included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/include/bolt/Core/BinarySection.h:18,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/include/bolt/Core/BinaryContext.h:18,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/include/bolt/Core/BinaryFunction.h:29,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/lib/Target/X86/X86MCSymbolizer.h:12,
                 from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/lib/Target/X86/X86MCPlusBuilder.cpp:16:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/bolt/include/bolt/Core/DebugData.h:512:22: warning: ‘maybe_unused’ attribute ignored [-Wattributes]
  512 |   DenseSet<uint64_t> DebugStrOffsetFinalized;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
11.574 [171/14/203] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/lib/Transforms/Utils -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/build/include -I/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/home/worker/bolt-worker2/bolt-x86_64-ubuntu-nfc/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
11.589 [171/13/204] Linking CXX static library lib/libLLVMBOLTUtils.a
11.780 [171/12/205] Building RISCVGenO0PreLegalizeGICombiner.inc...
12.155 [171/11/206] Building RISCVGenPostLegalizeGICombiner.inc...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 21, 2025

LLVM Buildbot has detected a new failure on builder lld-x86_64-ubuntu-fast running on as-builder-4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/11744

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
35.582 [1856/64/2014] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMCallingConv.cpp.o
35.594 [1855/64/2015] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMCallLowering.cpp.o
35.610 [1854/64/2016] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMConstantIslandPass.cpp.o
35.618 [1853/64/2017] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMConstantPoolValue.cpp.o
35.626 [1852/64/2018] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMExpandPseudoInsts.cpp.o
35.630 [1851/64/2019] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFastISel.cpp.o
35.638 [1850/64/2020] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFixCortexA57AES1742098Pass.cpp.o
35.650 [1849/64/2021] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFrameLowering.cpp.o
35.662 [1848/64/2022] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMHazardRecognizer.cpp.o
35.670 [1847/64/2023] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/include -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
35.671 [1847/63/2024] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMInstructionSelector.cpp.o
35.671 [1847/62/2025] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMISelDAGToDAG.cpp.o
35.672 [1847/61/2026] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMISelLowering.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 22, 2025

LLVM Buildbot has detected a new failure on builder premerge-monolithic-linux running on premerge-linux-1 while building llvm at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/23564

Here is the relevant piece of the build log for the reference
Step 6 (build-unified-tree) failure: build (failure)
...
3.578 [3624/12/59] Generating ../../bin/llvm-dlltool
3.578 [3624/11/60] Generating ../../bin/llvm-lib
3.578 [3624/10/61] Generating ../../bin/llvm-ranlib
3.606 [3624/9/62] Linking CXX executable bin/llvm-nm
3.611 [3624/8/63] Linking CXX executable bin/llvm-debuginfo-analyzer
3.616 [3624/7/64] Linking CXX executable bin/llvm-objdump
3.617 [3623/7/65] Linking CXX executable bin/llvm-cfi-verify
3.619 [3623/6/66] Generating ../../bin/llvm-otool
3.622 [3623/5/67] Linking CXX executable bin/sancov
4.460 [3623/4/68] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/build/buildbot/premerge-monolithic-linux/build/lib/Transforms/Utils -I/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils -I/build/buildbot/premerge-monolithic-linux/build/include -I/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
  LockstepReverseIterator<true> LRI(UnconditionalPreds);
  ^
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
                                           ^
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
2 errors generated.
5.602 [3623/3/69] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
11.437 [3623/2/70] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
12.843 [3623/1/71] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 22, 2025

LLVM Buildbot has detected a new failure on builder clang-x86_64-debian-fast running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/19156

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h:23:
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/CodeGen/BasicTTIImpl.h:2894:14: warning: parameter 'CondTy' not found in the function declaration [-Wdocumentation]
  /// \param CondTy Conditional type for the Select instruction.
             ^~~~~~
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp:42:
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/MC/TargetRegistry.h:85:12: warning: parameter 'ShowInst' not found in the function declaration [-Wdocumentation]
/// \param ShowInst - Whether to show the MCInst representation inline with
           ^~~~~~~~
16 warnings generated.
12.881 [1074/54/5026] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/clang-x86_64-debian-fast/llvm.obj/lib/Transforms/Utils -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils -I/b/1/clang-x86_64-debian-fast/llvm.obj/include -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include -std=c++11 -Wdocumentation -Wno-documentation-deprecated-sync -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:33:
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/Analysis/MemorySSAUpdater.h:269:14: warning: parameter 'MPhiMap,' not found in the function declaration [-Wdocumentation]
  /// \param MPhiMap, is created in the caller of this private method, and maps
             ^~~~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/Analysis/MemorySSAUpdater.h:269:14: note: did you mean 'MPhiMap'?
  /// \param MPhiMap, is created in the caller of this private method, and maps
             ^~~~~~~~
             MPhiMap
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:54:
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/IR/MDBuilder.h:64:14: warning: parameter 'Do' not found in the function declaration [-Wdocumentation]
  /// @param Do these weights come from __builtin_expect*
             ^~
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/IR/MDBuilder.h:64:14: note: did you mean 'IsExpected'?
  /// @param Do these weights come from __builtin_expect*
             ^~
             IsExpected
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/IR/MDBuilder.h:78:14: warning: parameter 'Do' not found in the function declaration [-Wdocumentation]
  /// @param Do these weights come from __builtin_expect*
             ^~
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/IR/MDBuilder.h:78:14: note: did you mean 'IsExpected'?
  /// @param Do these weights come from __builtin_expect*
             ^~
             IsExpected
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
  LockstepReverseIterator<true> LRI(UnconditionalPreds);
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
                                           ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 22, 2025

LLVM Buildbot has detected a new failure on builder llvm-x86_64-debian-dylib running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/20165

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
28.346 [4815/96/2243] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBInterfaceAnchors.cpp.o
28.370 [4814/96/2244] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbol.cpp.o
28.383 [4813/96/2245] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolAnnotation.cpp.o
28.396 [4812/96/2246] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolBlock.cpp.o
28.412 [4811/96/2247] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompiland.cpp.o
28.414 [4810/96/2248] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandDetails.cpp.o
28.422 [4809/96/2249] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandEnv.cpp.o
28.424 [4808/96/2250] Building AArch64GenInstrInfo.inc...
28.424 [4807/96/2251] Building X86GenSubtargetInfo.inc...
28.434 [4806/96/2252] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/lib/Transforms/Utils -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
  LockstepReverseIterator<true> LRI(UnconditionalPreds);
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
                                           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
2 errors generated.
28.435 [4806/95/2253] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCustom.cpp.o
28.435 [4806/94/2254] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolData.cpp.o
28.435 [4806/93/2255] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolExe.cpp.o
28.435 [4806/92/2256] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFunc.cpp.o
28.436 [4806/91/2257] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugEnd.cpp.o
28.436 [4806/90/2258] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugStart.cpp.o
28.436 [4806/89/2259] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolLabel.cpp.o
28.436 [4806/88/2260] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolPublicSymbol.cpp.o
28.437 [4806/87/2261] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolThunk.cpp.o
28.437 [4806/86/2262] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeArray.cpp.o
28.437 [4806/85/2263] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBaseClass.cpp.o
28.437 [4806/84/2264] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBuiltin.cpp.o
28.438 [4806/83/2265] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeCustom.cpp.o
28.438 [4806/82/2266] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeDimension.cpp.o
28.438 [4806/81/2267] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeEnum.cpp.o
28.438 [4806/80/2268] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFriend.cpp.o
28.439 [4806/79/2269] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionArg.cpp.o
28.439 [4806/78/2270] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionSig.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Feb 22, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-expensive-checks-debian running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/14174

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
      |                                          ^~~~~~~~~~~~~~~
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm-c/Deprecated.h:29:3: note: in definition of macro ‘LLVM_ATTRIBUTE_C_DEPRECATED’
   29 |   decl __attribute__((deprecated))
      |   ^~~~
11.224 [1026/34/3039] Building X86GenFastISel.inc...
11.427 [1026/33/3040] Building X86GenGlobalISel.inc...
11.580 [1026/32/3041] Building OCaml library llvm
12.923 [1025/32/3042] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
12.957 [1025/31/3043] Building X86GenDAGISel.inc...
14.279 [1025/30/3044] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DEXPENSIVE_CHECKS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Transforms/Utils -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/include -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include -U_GLIBCXX_DEBUG -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to 'LockstepReverseIterator' is ambiguous
  LockstepReverseIterator<true> LRI(UnconditionalPreds);
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to 'LockstepReverseIterator' is ambiguous
    auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
                                           ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note: candidate found by name lookup is 'llvm::LockstepReverseIterator'
class LockstepReverseIterator
      ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidate found by name lookup is '(anonymous namespace)::LockstepReverseIterator'
class LockstepReverseIterator {
      ^
2 errors generated.
14.549 [1025/29/3045] Building OCaml documentation for llvm
15.165 [1025/28/3046] Building X86GenSubtargetInfo.inc...
16.988 [1025/27/3047] Building RISCVGenInstrInfo.inc...
17.506 [1025/26/3048] Building AArch64GenSubtargetInfo.inc...
17.714 [1025/25/3049] Building AMDGPUGenCallingConv.inc...
17.953 [1025/24/3050] Building AArch64GenInstrInfo.inc...
18.418 [1025/23/3051] Building AMDGPUGenMCPseudoLowering.inc...
18.498 [1025/22/3052] Building CXX object lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVNSink.cpp.o
18.614 [1025/21/3053] Building X86GenInstrInfo.inc...
18.752 [1025/20/3054] Building RISCVGenGlobalISel.inc...
19.123 [1025/19/3055] Building AMDGPUGenPreLegalizeGICombiner.inc...
19.396 [1025/18/3056] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
19.586 [1025/17/3057] Building AMDGPUGenPostLegalizeGICombiner.inc...
19.696 [1025/16/3058] Building AMDGPUGenRegBankGICombiner.inc...
19.757 [1025/15/3059] Building AMDGPUGenDisassemblerTables.inc...
21.297 [1025/14/3060] Building AMDGPUGenMCCodeEmitter.inc...
21.572 [1025/13/3061] Building AMDGPUGenSubtargetInfo.inc...
21.637 [1025/12/3062] Building RISCVGenDAGISel.inc...

@antoniofrighetto
Copy link
Contributor Author

Unfortunately this breaks building on macOS with Clang and multiple build bots. I reverted the change for now in 236fa50 to get things back to building.

Thanks, I'm taking a look!

@antoniofrighetto
Copy link
Contributor Author

What occurred here seems quite weird: original commit 585631e as part of this PR correctly drops the class in SimplifyCFG, but the landed commit (123dca9) merged by David seems to have the LockstepReverseIterator class restored in SimplifyCFG. I was assuming something went wrong while merging this, however, unbeknownst to me, this happened in 48a6df3 too, despite being rebased to main. Should have been fixed separately in 93b263a.

@steakhal
Copy link
Contributor

steakhal commented Feb 22, 2025

I think your reapplied attempt still has a build failure:
https://lab.llvm.org/buildbot/#/builders/38/builds/2451/steps/8/logs/stdio at line 2741
https://lab.llvm.org/buildbot/#/builders/161/builds/4812 at line 99

I would have written this comment at the PR of the reapply commit - but it didn't have a PR -.-

One benefit of a PR is to have pre-merge bots checking if the code compiles, avoiding similar mistakes.

@antoniofrighetto
Copy link
Contributor Author

I think your reapplied attempt still has a build failure: https://lab.llvm.org/buildbot/#/builders/38/builds/2451/steps/8/logs/stdio at line 2741 https://lab.llvm.org/buildbot/#/builders/161/builds/4812 at line 99

I would have written this comment at the PR of the reapply commit - but it didn't have a PR -.-

One benefit of a PR is to have pre-merge bots checking if the code compiles, avoiding similar mistakes.

Fixed in 93b263a. The pre-merge checks had been already carried out within this PR, and so has been done locally running expensive checks for the reapply commit. The issue would have not been caught either with a new PR, just as it happened when David merged this the first time (despite bots being green).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants