Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV #139762

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 1 commit into from
May 13, 2025

Conversation

citymarina
Copy link
Contributor

This teaches ObjCARCContract to transform attachedcall bundles referencing objc_retainAutoreleasedReturnValue to instead reference objc_claimAutoreleasedReturnValue.

The only distinction between the two is that the latter is required to be guaranteed to immediately follow the call it's attached to, and, by construction, the bundles always achieve that by:

  • not being separable from the call through IR and the backend
  • not getting the marker emitted when claimARV is the attachedcall.

This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16 and related operating systems.

This teaches ObjCARCContract to transform attachedcall bundles
referencing objc_retainAutoreleasedReturnValue to instead
reference objc_claimAutoreleasedReturnValue.

The only distinction between the two is that the latter is required
to be guaranteed to immediately follow the call it's attached to,
and, by construction, the bundles always achieve that by:
- not being separable from the call through IR and the backend
- not getting the marker emitted when claimARV is the attachedcall.

This is enabled only for arm64, arm64e, and arm64_32 on
macOS13/iOS16 and related operating systems.

Co-authored-by: Ahmed Bougacha <ahmed@bougacha.org>
@citymarina
Copy link
Contributor Author

This was reviewed in #138697 but I accidentally merged it into my user branch rather than main. Sorry for the noise.

@llvmbot
Copy link
Member

llvmbot commented May 13, 2025

@llvm/pr-subscribers-llvm-transforms

Author: Marina Taylor (citymarina)

Changes

This teaches ObjCARCContract to transform attachedcall bundles referencing objc_retainAutoreleasedReturnValue to instead reference objc_claimAutoreleasedReturnValue.

The only distinction between the two is that the latter is required to be guaranteed to immediately follow the call it's attached to, and, by construction, the bundles always achieve that by:

  • not being separable from the call through IR and the backend
  • not getting the marker emitted when claimARV is the attachedcall.

This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16 and related operating systems.


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

6 Files Affected:

  • (modified) llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h (+8)
  • (modified) llvm/lib/Transforms/ObjCARC/ObjCARC.cpp (+29)
  • (modified) llvm/lib/Transforms/ObjCARC/ObjCARC.h (+6-1)
  • (modified) llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp (+45-1)
  • (modified) llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp (+1-1)
  • (added) llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll (+35)
diff --git a/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h b/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
index 0dedd0207571b..3fa844eda21cf 100644
--- a/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
+++ b/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
@@ -42,6 +42,7 @@ enum class ARCRuntimeEntryPointKind {
   Autorelease,
   StoreStrong,
   RetainRV,
+  ClaimRV,
   UnsafeClaimRV,
   RetainAutorelease,
   RetainAutoreleaseRV,
@@ -62,6 +63,7 @@ class ARCRuntimeEntryPoints {
     Autorelease = nullptr;
     StoreStrong = nullptr;
     RetainRV = nullptr;
+    ClaimRV = nullptr;
     UnsafeClaimRV = nullptr;
     RetainAutorelease = nullptr;
     RetainAutoreleaseRV = nullptr;
@@ -87,6 +89,9 @@ class ARCRuntimeEntryPoints {
     case ARCRuntimeEntryPointKind::RetainRV:
       return getIntrinsicEntryPoint(RetainRV,
                                 Intrinsic::objc_retainAutoreleasedReturnValue);
+    case ARCRuntimeEntryPointKind::ClaimRV:
+      return getIntrinsicEntryPoint(
+          ClaimRV, Intrinsic::objc_claimAutoreleasedReturnValue);
     case ARCRuntimeEntryPointKind::UnsafeClaimRV:
       return getIntrinsicEntryPoint(
           UnsafeClaimRV, Intrinsic::objc_unsafeClaimAutoreleasedReturnValue);
@@ -126,6 +131,9 @@ class ARCRuntimeEntryPoints {
   /// Declaration for objc_retainAutoreleasedReturnValue().
   Function *RetainRV = nullptr;
 
+  /// Declaration for objc_claimAutoreleasedReturnValue().
+  Function *ClaimRV = nullptr;
+
   /// Declaration for objc_unsafeClaimAutoreleasedReturnValue().
   Function *UnsafeClaimRV = nullptr;
 
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARC.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
index b6ade1c29a2b5..32e7092e80117 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
@@ -101,8 +101,37 @@ BundledRetainClaimRVs::~BundledRetainClaimRVs() {
       // can't be tail calls.
       if (auto *CI = dyn_cast<CallInst>(CB))
         CI->setTailCallKind(CallInst::TCK_NoTail);
+
+      // We can also do one final optimization: modify the bundle in the
+      // annotated call, to change the bundle operand from
+      //   objc_retainAutoreleasedReturnValue
+      // to:
+      //   objc_claimAutoreleasedReturnValue
+      // allowing the marker to be omitted from the bundle expansion later.
+      //
+      // Note that, confusingly, ClaimRV is semantically equivalent to RetainRV,
+      // and only differs in that it doesn't require the marker.
+      // The bundle provides the guarantee that we're emitting the ClaimRV call
+      // adjacent to the original call, and providing that guarantee is the
+      // only difference between ClaimRV and RetainRV.
+      //
+      // UnsafeClaimRV has a different RC contract entirely.
+
+      // Find the clang.arc.attachedcall bundle, and rewrite its operand.
+      if (UseClaimRV) {
+        for (auto OBI : CB->bundle_op_infos()) {
+          auto OBU = CB->operandBundleFromBundleOpInfo(OBI);
+          if (OBU.getTagID() == LLVMContext::OB_clang_arc_attachedcall &&
+              OBU.Inputs[0] == EP.get(ARCRuntimeEntryPointKind::RetainRV)) {
+            CB->setOperand(OBI.Begin,
+                           EP.get(ARCRuntimeEntryPointKind::ClaimRV));
+            break;
+          }
+        }
+      }
     }
 
+    // Erase the RV call we emitted earlier: it's already in the bundle.
     EraseInstruction(P.first);
   }
 
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARC.h b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
index f4d7c92d499c1..d0bff00446aa0 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARC.h
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARC.h
@@ -22,6 +22,7 @@
 #ifndef LLVM_LIB_TRANSFORMS_OBJCARC_OBJCARC_H
 #define LLVM_LIB_TRANSFORMS_OBJCARC_OBJCARC_H
 
+#include "ARCRuntimeEntryPoints.h"
 #include "llvm/Analysis/ObjCARCAnalysisUtils.h"
 #include "llvm/Analysis/ObjCARCUtil.h"
 #include "llvm/IR/EHPersonalities.h"
@@ -104,7 +105,9 @@ CallInst *createCallInstWithColors(
 
 class BundledRetainClaimRVs {
 public:
-  BundledRetainClaimRVs(bool ContractPass) : ContractPass(ContractPass) {}
+  BundledRetainClaimRVs(ARCRuntimeEntryPoints &EP, bool ContractPass,
+                        bool UseClaimRV)
+      : EP(EP), ContractPass(ContractPass), UseClaimRV(UseClaimRV) {}
   ~BundledRetainClaimRVs();
 
   /// Insert a retainRV/claimRV call to the normal destination blocks of invokes
@@ -155,7 +158,9 @@ class BundledRetainClaimRVs {
   /// A map of inserted retainRV/claimRV calls to annotated calls/invokes.
   DenseMap<CallInst *, CallBase *> RVCalls;
 
+  ARCRuntimeEntryPoints &EP;
   bool ContractPass;
+  bool UseClaimRV;
 };
 
 } // end namespace objcarc
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
index e11748b2c9dbb..86d7e2f07c1d9 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
@@ -42,6 +42,7 @@
 #include "llvm/InitializePasses.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/raw_ostream.h"
+#include "llvm/TargetParser/Triple.h"
 #include "llvm/Transforms/ObjCARC.h"
 
 using namespace llvm;
@@ -52,6 +53,11 @@ using namespace llvm::objcarc;
 STATISTIC(NumPeeps,       "Number of calls peephole-optimized");
 STATISTIC(NumStoreStrongs, "Number objc_storeStrong calls formed");
 
+static cl::opt<cl::boolOrDefault> UseObjCClaimRV(
+    "arc-contract-use-objc-claim-rv",
+    cl::desc(
+        "Enable generation of calls to objc_claimAutoreleasedReturnValue"));
+
 //===----------------------------------------------------------------------===//
 //                                Declarations
 //===----------------------------------------------------------------------===//
@@ -74,6 +80,9 @@ class ObjCARCContract {
   /// A flag indicating whether this optimization pass should run.
   bool Run;
 
+  /// Whether objc_claimAutoreleasedReturnValue is available.
+  bool HasClaimRV = false;
+
   /// The inline asm string to insert between calls and RetainRV calls to make
   /// the optimization work on targets which need it.
   const MDString *RVInstMarker;
@@ -517,6 +526,39 @@ bool ObjCARCContract::tryToPeepholeInstruction(
   }
 }
 
+/// Should we use objc_claimAutoreleasedReturnValue?
+static bool useClaimRuntimeCall(Module &M) {
+  // Let the flag override our OS-based default.
+  if (UseObjCClaimRV != cl::BOU_UNSET)
+    return UseObjCClaimRV == cl::BOU_TRUE;
+
+  Triple TT(M.getTargetTriple());
+
+  // On x86_64, claimARV doesn't make sense, as the marker isn't actually a nop
+  // there (it's needed by the calling convention).
+  if (!TT.isAArch64())
+    return false;
+
+  unsigned Major = TT.getOSMajorVersion();
+  switch (TT.getOS()) {
+  default:
+    return false;
+  case Triple::IOS:
+  case Triple::TvOS:
+    return Major >= 16;
+  case Triple::WatchOS:
+    return Major >= 9;
+  case Triple::BridgeOS:
+    return Major >= 7;
+  case Triple::MacOSX:
+    return Major >= 13;
+  case Triple::Darwin:
+    return Major >= 21;
+  }
+
+  return false;
+}
+
 //===----------------------------------------------------------------------===//
 //                              Top Level Driver
 //===----------------------------------------------------------------------===//
@@ -528,6 +570,8 @@ bool ObjCARCContract::init(Module &M) {
 
   EP.init(&M);
 
+  HasClaimRV = useClaimRuntimeCall(M);
+
   // Initialize RVInstMarker.
   RVInstMarker = getRVInstMarker(M);
 
@@ -545,7 +589,7 @@ bool ObjCARCContract::run(Function &F, AAResults *A, DominatorTree *D) {
   AA = A;
   DT = D;
   PA.setAA(A);
-  BundledRetainClaimRVs BRV(/*ContractPass=*/true);
+  BundledRetainClaimRVs BRV(EP, /*ContractPass=*/true, HasClaimRV);
   BundledInsts = &BRV;
 
   std::pair<bool, bool> R = BundledInsts->insertAfterInvokes(F, DT);
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
index 2ef87f531dfae..5eb3f51d38945 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
@@ -2423,7 +2423,7 @@ bool ObjCARCOpt::run(Function &F, AAResults &AA) {
     return false;
 
   Changed = CFGChanged = false;
-  BundledRetainClaimRVs BRV(/*ContractPass=*/false);
+  BundledRetainClaimRVs BRV(EP, /*ContractPass=*/false, /*UseClaimRV=*/false);
   BundledInsts = &BRV;
 
   LLVM_DEBUG(dbgs() << "<<< ObjCARCOpt: Visiting Function: " << F.getName()
diff --git a/llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll b/llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
new file mode 100644
index 0000000000000..d0b8ce97d6517
--- /dev/null
+++ b/llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
@@ -0,0 +1,35 @@
+; RUN: opt -passes=objc-arc-contract -arc-contract-use-objc-claim-rv=1 -S < %s | FileCheck %s --check-prefixes=CHECK,CLAIM
+; RUN: opt -passes=objc-arc-contract -arc-contract-use-objc-claim-rv=0 -S < %s | FileCheck %s --check-prefixes=CHECK,RETAIN
+
+; CHECK-LABEL: define void @test0() {
+; CLAIM: %[[CALL:.*]] = notail call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.claimAutoreleasedReturnValue) ]
+; RETAIN: %[[CALL:.*]] = notail call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ]
+; CHECK-NEXT: ret void
+
+define void @test0() {
+  %call1 = call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue) ]
+  ret void
+}
+
+; CHECK-LABEL: define void @test1() {
+; CHECK: %[[CALL:.*]] = notail call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.unsafeClaimAutoreleasedReturnValue) ]
+; CHECK-NEXT: ret void
+
+define void @test1() {
+  %call1 = call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.unsafeClaimAutoreleasedReturnValue) ]
+  ret void
+}
+
+; CHECK-LABEL: define void @test2() {
+; CLAIM: %[[CALL:.*]] = notail call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.claimAutoreleasedReturnValue), "otherbundle"() ]
+; RETAIN: %[[CALL:.*]] = notail call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue), "otherbundle"() ]
+; CHECK-NEXT: ret void
+
+define void @test2() {
+  %call1 = call ptr @foo() [ "clang.arc.attachedcall"(ptr @llvm.objc.retainAutoreleasedReturnValue), "otherbundle"() ]
+  ret void
+}
+
+declare ptr @foo()
+declare ptr @llvm.objc.retainAutoreleasedReturnValue(ptr)
+declare ptr @llvm.objc.unsafeClaimAutoreleasedReturnValue(ptr)

@citymarina citymarina merged commit 810148c into llvm:main May 13, 2025
11 of 12 checks passed
@citymarina citymarina deleted the objc-claim-oops3 branch May 13, 2025 18:25
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 2025

LLVM Buildbot has detected a new failure on builder mlir-nvidia running on mlir-nvidia while building llvm at step 6 "build-check-mlir-build-only".

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

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
24.744 [551/13/4670] Linking CXX shared library lib/libLLVMExecutionEngine.so.21.0git
24.748 [550/13/4671] Linking CXX shared library lib/libLLVMCGData.so.21.0git
24.752 [549/13/4672] Creating library symlink lib/libLLVMExecutionEngine.so
24.756 [548/13/4673] Creating library symlink lib/libLLVMCGData.so
24.799 [548/12/4674] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
24.806 [547/12/4675] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
24.809 [546/12/4676] Creating library symlink lib/libLLVMHipStdPar.so
24.812 [546/11/4677] Linking CXX shared library lib/libLLVMFrontendOffloading.so.21.0git
24.813 [545/11/4678] Creating library symlink lib/libLLVMAggressiveInstCombine.so
24.816 [545/10/4679] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/clang++ -fPIC -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  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib && :
ld.lld: error: undefined symbol: llvm::Triple::getOSVersion() const
>>> referenced by ObjCARCContract.cpp
>>>               lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o:((anonymous namespace)::ObjCARCContract::init(llvm::Module&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
24.817 [545/9/4680] Linking CXX shared library lib/libLLVMLinker.so.21.0git
24.820 [545/8/4681] Creating library symlink lib/libLLVMFrontendOffloading.so
24.848 [545/7/4682] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
24.864 [545/6/4683] Linking CXX shared library lib/libLLVMMCJIT.so.21.0git
24.867 [545/5/4684] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
24.888 [545/4/4685] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
24.921 [545/3/4686] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
25.460 [545/2/4687] Building X86GenSubtargetInfo.inc...
29.839 [545/1/4688] 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 May 13, 2025

LLVM Buildbot has detected a new failure on builder openmp-offload-amdgpu-runtime-2 running on rocm-worker-hw-02 while building llvm at step 5 "compile-openmp".

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

Here is the relevant piece of the build log for the reference
Step 5 (compile-openmp) failure: build (failure)
...
8.623 [748/21/3858] Linking CXX executable bin/verify-uselistorder
8.664 [748/20/3859] Linking CXX shared library lib/libLLVMTransformUtils.so.21.0git
8.673 [747/20/3860] Creating library symlink lib/libLLVMTransformUtils.so
8.685 [739/27/3861] Linking CXX shared library lib/libLLVMMCJIT.so.21.0git
8.693 [738/27/3862] Creating library symlink lib/libLLVMMCJIT.so
8.744 [738/26/3863] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
8.745 [737/26/3864] Linking CXX shared library lib/libLLVMFrontendOffloading.so.21.0git
8.745 [736/26/3865] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
8.748 [735/26/3866] Linking CXX shared library lib/libLLVMLinker.so.21.0git
8.750 [734/26/3867] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib && :
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)':
ObjCARCContract.cpp:(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x54b): undefined reference to `llvm::Triple::getOSVersion() const'
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `(anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&)':
ObjCARCContract.cpp:(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x425): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
8.753 [734/25/3868] Creating library symlink lib/libLLVMFrontendOffloading.so
8.754 [734/24/3869] Creating library symlink lib/libLLVMAggressiveInstCombine.so
8.757 [734/23/3870] Creating library symlink lib/libLLVMHipStdPar.so
8.757 [734/22/3871] Creating library symlink lib/libLLVMLinker.so
8.803 [734/21/3872] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
8.822 [734/20/3873] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
8.877 [734/19/3874] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
9.590 [734/18/3875] Building AMDGPUGenMCPseudoLowering.inc...
10.603 [734/17/3876] Building AMDGPUGenPostLegalizeGICombiner.inc...
10.694 [734/16/3877] Building AMDGPUGenPreLegalizeGICombiner.inc...
10.724 [734/15/3878] Building AMDGPUGenSubtargetInfo.inc...
10.882 [734/14/3879] Building AMDGPUGenRegBankGICombiner.inc...
11.081 [734/13/3880] Building AMDGPUGenDisassemblerTables.inc...
11.387 [734/12/3881] Building AMDGPUGenMCCodeEmitter.inc...
11.788 [734/11/3882] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
11.959 [734/10/3883] Building AMDGPUGenCallingConv.inc...
12.109 [734/9/3884] Building AMDGPUGenSearchableTables.inc...
12.670 [734/8/3885] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
13.044 [734/7/3886] Building AMDGPUGenAsmWriter.inc...
14.110 [734/6/3887] Building AMDGPUGenGlobalISel.inc...
14.317 [734/5/3888] Building AMDGPUGenAsmMatcher.inc...
14.500 [734/4/3889] Building AMDGPUGenDAGISel.inc...
15.502 [734/3/3890] Building AMDGPUGenInstrInfo.inc...
16.170 [734/2/3891] Building AMDGPUGenRegisterInfo.inc...
16.454 [734/1/3892] Building AMDGPUGenRegisterBank.inc...
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-8-cmake-build-only running on rocm-docker-rhel-8 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[4561/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/Serialization.cpp.o
[4562/7810] Creating library symlink lib/libMLIRValueBoundsOpInterface.so
[4563/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[4564/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRToLLVMIRTranslationRegistration.dir/ConvertToLLVMIR.cpp.o
[4565/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/TypeToLLVM.cpp.o
[4566/7810] Linking CXX shared library lib/libLLVMFrontendOffloading.so.21.0git
[4567/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/Dialect/OpenMPCommon.cpp.o
[4568/7810] Linking CXX shared library lib/libMLIRQuery.so.21.0git
[4569/7810] Creating library symlink lib/libLLVMHipStdPar.so
[4570/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: In function `useClaimRuntimeCall(llvm::Module&)':
ObjCARCContract.cpp:(.text._ZL19useClaimRuntimeCallRN4llvm6ModuleE+0xb1): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[4571/7810] Linking CXX shared library lib/libMLIRSPIRVBinaryUtils.so.21.0git
[4572/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/Serializer.cpp.o
[4573/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[4574/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/LoopAnnotationTranslation.cpp.o
[4575/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/DataLayoutImporter.cpp.o
[4576/7810] Creating library symlink lib/libLLVMFrontendOffloading.so
[4577/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/SerializeOps.cpp.o
[4578/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/DebugTranslation.cpp.o
[4579/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/ModuleTranslation.cpp.o
[4580/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/DebugImporter.cpp.o
[4581/7810] Creating library symlink lib/libMLIRQuery.so
[4582/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[4583/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[4584/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/LoopAnnotationImporter.cpp.o
[4585/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/ModuleImport.cpp.o
[4586/7810] Linking CXX shared library lib/libMLIRPass.so.21.0git
[4587/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/TypeFromLLVM.cpp.o
[4588/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/LLVMImportInterface.cpp.o
[4589/7810] Linking CXX shared library lib/libMLIRSubsetOpInterface.so.21.0git
[4590/7810] Linking CXX shared library lib/libMLIRArithDialect.so.21.0git
[4591/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[4592/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[4593/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[4594/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[4595/7810] Building AMDGPUGenAsmWriter.inc...
[4596/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[4597/7810] Building AMDGPUGenGlobalISel.inc...
[4598/7810] Building AMDGPUGenAsmMatcher.inc...
[4599/7810] Building AMDGPUGenDAGISel.inc...
[4600/7810] Building AMDGPUGenInstrInfo.inc...
[4601/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
In file included from /usr/include/c++/8/cassert:44,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h:40,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h:16,
Step 7 (build cmake config) failure: build cmake config (failure)
...
[4561/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/Serialization.cpp.o
[4562/7810] Creating library symlink lib/libMLIRValueBoundsOpInterface.so
[4563/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[4564/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRToLLVMIRTranslationRegistration.dir/ConvertToLLVMIR.cpp.o
[4565/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/TypeToLLVM.cpp.o
[4566/7810] Linking CXX shared library lib/libLLVMFrontendOffloading.so.21.0git
[4567/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/Dialect/OpenMPCommon.cpp.o
[4568/7810] Linking CXX shared library lib/libMLIRQuery.so.21.0git
[4569/7810] Creating library symlink lib/libLLVMHipStdPar.so
[4570/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: In function `useClaimRuntimeCall(llvm::Module&)':
ObjCARCContract.cpp:(.text._ZL19useClaimRuntimeCallRN4llvm6ModuleE+0xb1): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[4571/7810] Linking CXX shared library lib/libMLIRSPIRVBinaryUtils.so.21.0git
[4572/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/Serializer.cpp.o
[4573/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[4574/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/LoopAnnotationTranslation.cpp.o
[4575/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/DataLayoutImporter.cpp.o
[4576/7810] Creating library symlink lib/libLLVMFrontendOffloading.so
[4577/7810] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/SerializeOps.cpp.o
[4578/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/DebugTranslation.cpp.o
[4579/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRExport.dir/ModuleTranslation.cpp.o
[4580/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/DebugImporter.cpp.o
[4581/7810] Creating library symlink lib/libMLIRQuery.so
[4582/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[4583/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[4584/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/LoopAnnotationImporter.cpp.o
[4585/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/ModuleImport.cpp.o
[4586/7810] Linking CXX shared library lib/libMLIRPass.so.21.0git
[4587/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/TypeFromLLVM.cpp.o
[4588/7810] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/LLVMImportInterface.cpp.o
[4589/7810] Linking CXX shared library lib/libMLIRSubsetOpInterface.so.21.0git
[4590/7810] Linking CXX shared library lib/libMLIRArithDialect.so.21.0git
[4591/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[4592/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[4593/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[4594/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[4595/7810] Building AMDGPUGenAsmWriter.inc...
[4596/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[4597/7810] Building AMDGPUGenGlobalISel.inc...
[4598/7810] Building AMDGPUGenAsmMatcher.inc...
[4599/7810] Building AMDGPUGenDAGISel.inc...
[4600/7810] Building AMDGPUGenInstrInfo.inc...
[4601/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
In file included from /usr/include/c++/8/cassert:44,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h:40,
                 from /home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/llvm-project/llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h:16,

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-9-cmake-build-only running on rocm-docker-rhel-9 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[5085/7810] Creating library symlink lib/libLLVMMCJIT.so
[5086/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[5087/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenLexer.cpp.o
[5088/7810] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5089/7810] Creating library symlink lib/libMLIRTosaToArith.so
[5090/7810] Creating library symlink lib/libLLVMFrontendOffloading.so
[5091/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Pragma.cpp.o
[5092/7810] Creating library symlink lib/libLLVMAggressiveInstCombine.so
[5093/7810] Creating library symlink lib/libMLIRVectorToXeGPU.so
[5094/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)':
ObjCARCContract.cpp:(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x50b): undefined reference to `llvm::Triple::getOSVersion() const'
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `(anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&)':
ObjCARCContract.cpp:(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x3f5): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[5095/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessorLexer.cpp.o
[5096/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[5097/7810] Creating library symlink lib/libMLIRNVGPUTransforms.so
[5098/7810] Creating library symlink lib/libMLIRXeGPUUtils.so
[5099/7810] Creating library symlink lib/libMLIRAffineTransforms.so
[5100/7810] Creating library symlink lib/libMLIRMeshTransforms.so
[5101/7810] Creating library symlink lib/libMLIRShapeTestPasses.so
[5102/7810] Building AMDGPUGenSearchableTables.inc...
[5103/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPMacroExpansion.cpp.o
[5104/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[5105/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[5106/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Preprocessor.cpp.o
[5107/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[5108/7810] Linking CXX shared library lib/libMLIRTosaToSCF.so.21.0git
[5109/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenConcatenation.cpp.o
[5110/7810] Linking CXX shared library lib/libMLIRTosaToTensor.so.21.0git
[5111/7810] Linking CXX shared library lib/libMLIRLinalgDialect.so.21.0git
[5112/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[5113/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[5114/7810] Linking CXX shared library lib/libMLIRSPIRVDialect.so.21.0git
[5115/7810] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
[5116/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseCXXInlineMethods.cpp.o
[5117/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[5118/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseAST.cpp.o
[5119/7810] Building AMDGPUGenAsmWriter.inc...
[5120/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5121/7810] Building AMDGPUGenGlobalISel.inc...
[5122/7810] Building AMDGPUGenAsmMatcher.inc...
[5123/7810] Building AMDGPUGenDAGISel.inc...
[5124/7810] Building AMDGPUGenInstrInfo.inc...
[5125/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
[5126/7810] Building AMDGPUGenRegisterBank.inc...
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5085/7810] Creating library symlink lib/libLLVMMCJIT.so
[5086/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[5087/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenLexer.cpp.o
[5088/7810] Creating library symlink lib/libMLIRTosaToMLProgram.so
[5089/7810] Creating library symlink lib/libMLIRTosaToArith.so
[5090/7810] Creating library symlink lib/libLLVMFrontendOffloading.so
[5091/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Pragma.cpp.o
[5092/7810] Creating library symlink lib/libLLVMAggressiveInstCombine.so
[5093/7810] Creating library symlink lib/libMLIRVectorToXeGPU.so
[5094/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)':
ObjCARCContract.cpp:(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x50b): undefined reference to `llvm::Triple::getOSVersion() const'
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `(anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&)':
ObjCARCContract.cpp:(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x3f5): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[5095/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessorLexer.cpp.o
[5096/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[5097/7810] Creating library symlink lib/libMLIRNVGPUTransforms.so
[5098/7810] Creating library symlink lib/libMLIRXeGPUUtils.so
[5099/7810] Creating library symlink lib/libMLIRAffineTransforms.so
[5100/7810] Creating library symlink lib/libMLIRMeshTransforms.so
[5101/7810] Creating library symlink lib/libMLIRShapeTestPasses.so
[5102/7810] Building AMDGPUGenSearchableTables.inc...
[5103/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPMacroExpansion.cpp.o
[5104/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[5105/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[5106/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Preprocessor.cpp.o
[5107/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[5108/7810] Linking CXX shared library lib/libMLIRTosaToSCF.so.21.0git
[5109/7810] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenConcatenation.cpp.o
[5110/7810] Linking CXX shared library lib/libMLIRTosaToTensor.so.21.0git
[5111/7810] Linking CXX shared library lib/libMLIRLinalgDialect.so.21.0git
[5112/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[5113/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[5114/7810] Linking CXX shared library lib/libMLIRSPIRVDialect.so.21.0git
[5115/7810] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
[5116/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseCXXInlineMethods.cpp.o
[5117/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[5118/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseAST.cpp.o
[5119/7810] Building AMDGPUGenAsmWriter.inc...
[5120/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5121/7810] Building AMDGPUGenGlobalISel.inc...
[5122/7810] Building AMDGPUGenAsmMatcher.inc...
[5123/7810] Building AMDGPUGenDAGISel.inc...
[5124/7810] Building AMDGPUGenInstrInfo.inc...
[5125/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
[5126/7810] Building AMDGPUGenRegisterBank.inc...

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-ubuntu-22-cmake-build-only running on rocm-docker-ubu-22 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[5242/7810] Linking CXX shared library lib/libMLIRUBToSPIRV.so.21.0git
[5243/7810] Linking CXX shared library lib/libMLIRComplexToSPIRV.so.21.0git
[5244/7810] Linking CXX shared library lib/libMLIRSPIRVTransforms.so.21.0git
[5245/7810] Linking CXX shared library lib/libMLIRControlFlowToSPIRV.so.21.0git
[5246/7810] Creating library symlink lib/libMLIRUBToSPIRV.so
[5247/7810] Linking CXX shared library lib/libMLIRFuncToSPIRV.so.21.0git
[5248/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[5249/7810] Creating library symlink lib/libMLIRSPIRVTransforms.so
[5250/7810] Creating library symlink lib/libMLIRComplexToSPIRV.so
[5251/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)':
ObjCARCContract.cpp:(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x54b): undefined reference to `llvm::Triple::getOSVersion() const'
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `(anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&)':
ObjCARCContract.cpp:(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x425): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[5252/7810] Creating library symlink lib/libMLIRControlFlowToSPIRV.so
[5253/7810] Linking CXX shared library lib/libMLIRSPIRVTestPasses.so.21.0git
[5254/7810] Creating library symlink lib/libMLIRSCFTestPasses.so
[5255/7810] Creating library symlink lib/libMLIRFuncToSPIRV.so
[5256/7810] Linking CXX shared library lib/libMLIRMathToSPIRV.so.21.0git
[5257/7810] Creating library symlink lib/libMLIRXeGPUTestPasses.so
[5258/7810] Creating library symlink lib/libLLVMHipStdPar.so
[5259/7810] Linking CXX shared library lib/libMLIRTestConvertToSPIRV.so.21.0git
[5260/7810] Linking CXX shared library lib/libMLIRIndexToSPIRV.so.21.0git
[5261/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[5262/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[5263/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[5264/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/Parser.cpp.o
[5265/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[5266/7810] Linking CXX shared library lib/libMLIRMemRefToSPIRV.so.21.0git
[5267/7810] Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentSema.cpp.o
[5268/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[5269/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[5270/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseOpenACC.cpp.o
[5271/7810] Linking CXX shared library lib/libMLIRVectorToSPIRV.so.21.0git
[5272/7810] Building AMDGPUGenSearchableTables.inc...
[5273/7810] Linking CXX shared library lib/libMLIRLinalgTransforms.so.21.0git
[5274/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[5275/7810] Building AMDGPUGenCallingConv.inc...
[5276/7810] Building AMDGPUGenAsmWriter.inc...
[5277/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5278/7810] Building AMDGPUGenAsmMatcher.inc...
[5279/7810] Building AMDGPUGenDAGISel.inc...
[5280/7810] Building AMDGPUGenGlobalISel.inc...
[5281/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
[5282/7810] Building AMDGPUGenInstrInfo.inc...
[5283/7810] Building AMDGPUGenRegisterInfo.inc...
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5242/7810] Linking CXX shared library lib/libMLIRUBToSPIRV.so.21.0git
[5243/7810] Linking CXX shared library lib/libMLIRComplexToSPIRV.so.21.0git
[5244/7810] Linking CXX shared library lib/libMLIRSPIRVTransforms.so.21.0git
[5245/7810] Linking CXX shared library lib/libMLIRControlFlowToSPIRV.so.21.0git
[5246/7810] Creating library symlink lib/libMLIRUBToSPIRV.so
[5247/7810] Linking CXX shared library lib/libMLIRFuncToSPIRV.so.21.0git
[5248/7810] Linking CXX shared library lib/libLLVMHipStdPar.so.21.0git
[5249/7810] Creating library symlink lib/libMLIRSPIRVTransforms.so
[5250/7810] Creating library symlink lib/libMLIRComplexToSPIRV.so
[5251/7810] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)':
ObjCARCContract.cpp:(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x54b): undefined reference to `llvm::Triple::getOSVersion() const'
/usr/bin/ld: lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o: in function `(anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&)':
ObjCARCContract.cpp:(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x425): undefined reference to `llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
[5252/7810] Creating library symlink lib/libMLIRControlFlowToSPIRV.so
[5253/7810] Linking CXX shared library lib/libMLIRSPIRVTestPasses.so.21.0git
[5254/7810] Creating library symlink lib/libMLIRSCFTestPasses.so
[5255/7810] Creating library symlink lib/libMLIRFuncToSPIRV.so
[5256/7810] Linking CXX shared library lib/libMLIRMathToSPIRV.so.21.0git
[5257/7810] Creating library symlink lib/libMLIRXeGPUTestPasses.so
[5258/7810] Creating library symlink lib/libLLVMHipStdPar.so
[5259/7810] Linking CXX shared library lib/libMLIRTestConvertToSPIRV.so.21.0git
[5260/7810] Linking CXX shared library lib/libMLIRIndexToSPIRV.so.21.0git
[5261/7810] Linking CXX shared library lib/libLLVMLinker.so.21.0git
[5262/7810] Linking CXX shared library lib/libLLVMInstCombine.so.21.0git
[5263/7810] Linking CXX shared library lib/libLLVMAggressiveInstCombine.so.21.0git
[5264/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/Parser.cpp.o
[5265/7810] Linking CXX shared library lib/libLLVMSPIRVAnalysis.so.21.0git
[5266/7810] Linking CXX shared library lib/libMLIRMemRefToSPIRV.so.21.0git
[5267/7810] Building CXX object tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/CommentSema.cpp.o
[5268/7810] Linking CXX shared library lib/libLLVMInstrumentation.so.21.0git
[5269/7810] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
[5270/7810] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseOpenACC.cpp.o
[5271/7810] Linking CXX shared library lib/libMLIRVectorToSPIRV.so.21.0git
[5272/7810] Building AMDGPUGenSearchableTables.inc...
[5273/7810] Linking CXX shared library lib/libMLIRLinalgTransforms.so.21.0git
[5274/7810] Linking CXX shared library lib/libMLIRLLVMDialect.so.21.0git
[5275/7810] Building AMDGPUGenCallingConv.inc...
[5276/7810] Building AMDGPUGenAsmWriter.inc...
[5277/7810] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
[5278/7810] Building AMDGPUGenAsmMatcher.inc...
[5279/7810] Building AMDGPUGenDAGISel.inc...
[5280/7810] Building AMDGPUGenGlobalISel.inc...
[5281/7810] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
[5282/7810] Building AMDGPUGenInstrInfo.inc...
[5283/7810] Building AMDGPUGenRegisterInfo.inc...

citymarina added a commit that referenced this pull request May 13, 2025
citymarina added a commit that referenced this pull request May 13, 2025
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request May 13, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 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/17395

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-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:273:33: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  273 |     ImportListsTy() : EmptyList(ImportIDs) {}
      |                                 ^~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy(size_t)’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:274:44: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  274 |     ImportListsTy(size_t Size) : EmptyList(ImportIDs), ListsImpl(Size) {}
      |                                            ^~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unnecessary-virtual-specifier’ may have been intended to silence earlier diagnostics
46.385 [610/11/2115] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/build/lib && :
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o:ObjCARCContract.cpp:function (anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&):(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x6c3): error: undefined reference to 'llvm::Triple::getOSVersion() const'
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o:ObjCARCContract.cpp:function llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&):(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x85a): error: undefined reference to 'llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
46.580 [610/4/2122] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
51.745 [610/2/2124] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
52.729 [610/1/2125] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
In file included from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/LTO/LTO.h:32,
                 from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/lib/LTO/LTO.cpp:13:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy()’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:273:33: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  273 |     ImportListsTy() : EmptyList(ImportIDs) {}
      |                                 ^~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy(size_t)’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:274:44: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  274 |     ImportListsTy(size_t Size) : EmptyList(ImportIDs), ListsImpl(Size) {}
      |                                            ^~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unnecessary-virtual-specifier’ may have been intended to silence earlier diagnostics
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 13, 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/17538

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/include/llvm/Transforms/IPO/FunctionImport.h:273:33: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  273 |     ImportListsTy() : EmptyList(ImportIDs) {}
      |                                 ^~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy(size_t)’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:274:44: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  274 |     ImportListsTy(size_t Size) : EmptyList(ImportIDs), ListsImpl(Size) {}
      |                                            ^~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unnecessary-virtual-specifier’ may have been intended to silence earlier diagnostics
44.459 [610/11/2115] Linking CXX shared library lib/libLLVMObjCARCOpts.so.21.0git
FAILED: lib/libLLVMObjCARCOpts.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,--gc-sections -shared -Wl,-soname,libLLVMObjCARCOpts.so.21.0git -o lib/libLLVMObjCARCOpts.so.21.0git lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARC.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCOpts.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCExpand.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCAPElim.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/DependencyAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysis.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ProvenanceAnalysisEvaluator.cpp.o lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/PtrState.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/build/lib:"  lib/libLLVMTransformUtils.so.21.0git  lib/libLLVMAnalysis.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/build/lib && :
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o:ObjCARCContract.cpp:function (anonymous namespace)::ObjCARCContractLegacyPass::runOnFunction(llvm::Function&):(.text._ZN12_GLOBAL__N_125ObjCARCContractLegacyPass13runOnFunctionERN4llvm8FunctionE+0x6c3): error: undefined reference to 'llvm::Triple::getOSVersion() const'
lib/Transforms/ObjCARC/CMakeFiles/LLVMObjCARCOpts.dir/ObjCARCContract.cpp.o:ObjCARCContract.cpp:function llvm::ObjCARCContractPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&):(.text._ZN4llvm19ObjCARCContractPass3runERNS_8FunctionERNS_15AnalysisManagerIS1_JEEE+0x85a): error: undefined reference to 'llvm::Triple::getOSVersion() const'
collect2: error: ld returned 1 exit status
44.651 [610/4/2122] Linking CXX shared library lib/libLLVMVectorize.so.21.0git
49.623 [610/2/2124] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
50.556 [610/1/2125] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
In file included from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/LTO/LTO.h:32,
                 from /home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/lib/LTO/LTO.cpp:13:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy()’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:273:33: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  273 |     ImportListsTy() : EmptyList(ImportIDs) {}
      |                                 ^~~~~~~~~
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h: In constructor ‘llvm::FunctionImporter::ImportListsTy::ImportListsTy(size_t)’:
/home/buildbot/worker/as-builder-7/ramdisk/llvm-nvptx-nvidia-ubuntu/llvm-project/llvm/include/llvm/Transforms/IPO/FunctionImport.h:274:44: warning: member ‘llvm::FunctionImporter::ImportListsTy::ImportIDs’ is used uninitialized [-Wuninitialized]
  274 |     ImportListsTy(size_t Size) : EmptyList(ImportIDs), ListsImpl(Size) {}
      |                                            ^~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unnecessary-virtual-specifier’ may have been intended to silence earlier diagnostics
ninja: build stopped: subcommand failed.

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.

3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.