Skip to content

ARM: Start moving runtime libcall configuration out of TargetLowering #142617

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

Conversation

arsenm
Copy link
Contributor

@arsenm arsenm commented Jun 3, 2025

These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.

Copy link
Contributor Author

arsenm commented Jun 3, 2025

@llvmbot
Copy link
Member

llvmbot commented Jun 3, 2025

@llvm/pr-subscribers-llvm-ir

@llvm/pr-subscribers-backend-arm

Author: Matt Arsenault (arsenm)

Changes

These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.


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

4 Files Affected:

  • (modified) llvm/include/llvm/TargetParser/Triple.h (+28)
  • (modified) llvm/lib/IR/RuntimeLibcalls.cpp (+53)
  • (modified) llvm/lib/Target/ARM/ARMISelLowering.cpp (-44)
  • (modified) llvm/lib/Target/ARM/ARMSubtarget.h (+5-25)
diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
index 7fd5278f1ed53..351da0d6598c2 100644
--- a/llvm/include/llvm/TargetParser/Triple.h
+++ b/llvm/include/llvm/TargetParser/Triple.h
@@ -917,6 +917,34 @@ class Triple {
            isOSBinFormatELF();
   }
 
+  // ARM EABI is the bare-metal EABI described in ARM ABI documents and
+  // can be accessed via -target arm-none-eabi. This is NOT GNUEABI.
+  // FIXME: Add a flag for bare-metal for that target and set Triple::EABI
+  // even for GNUEABI, so we can make a distinction here and still conform to
+  // the EABI on GNU (and Android) mode. This requires change in Clang, too.
+  // FIXME: The Darwin exception is temporary, while we move users to
+  // "*-*-*-macho" triples as quickly as possible.
+  bool isTargetAEABI() const {
+    return (getEnvironment() == Triple::EABI ||
+            getEnvironment() == Triple::EABIHF) &&
+           !isOSDarwin() && !isOSWindows();
+  }
+
+  bool isTargetGNUAEABI() const {
+    return (getEnvironment() == Triple::GNUEABI ||
+            getEnvironment() == Triple::GNUEABIT64 ||
+            getEnvironment() == Triple::GNUEABIHF ||
+            getEnvironment() == Triple::GNUEABIHFT64) &&
+           !isOSDarwin() && !isOSWindows();
+  }
+
+  bool isTargetMuslAEABI() const {
+    return (getEnvironment() == Triple::MuslEABI ||
+            getEnvironment() == Triple::MuslEABIHF ||
+            getEnvironment() == Triple::OpenHOS) &&
+           !isOSDarwin() && !isOSWindows();
+  }
+
   /// Tests whether the target is T32.
   bool isArmT32() const {
     switch (getSubArch()) {
diff --git a/llvm/lib/IR/RuntimeLibcalls.cpp b/llvm/lib/IR/RuntimeLibcalls.cpp
index db0373055160c..30290e97f64d3 100644
--- a/llvm/lib/IR/RuntimeLibcalls.cpp
+++ b/llvm/lib/IR/RuntimeLibcalls.cpp
@@ -11,6 +11,56 @@
 using namespace llvm;
 using namespace RTLIB;
 
+static void setARMLibcallNames(RuntimeLibcallsInfo &Info, const Triple &TT) {
+  // Register based DivRem for AEABI (RTABI 4.2)
+  if (TT.isTargetAEABI() || TT.isAndroid() || TT.isTargetGNUAEABI() ||
+      TT.isTargetMuslAEABI() || TT.isOSWindows()) {
+    if (TT.isOSWindows()) {
+      const struct {
+        const RTLIB::Libcall Op;
+        const char *const Name;
+        const CallingConv::ID CC;
+      } LibraryCalls[] = {
+          {RTLIB::SDIVREM_I8, "__rt_sdiv", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I16, "__rt_sdiv", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I32, "__rt_sdiv", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I64, "__rt_sdiv64", CallingConv::ARM_AAPCS},
+
+          {RTLIB::UDIVREM_I8, "__rt_udiv", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I16, "__rt_udiv", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I32, "__rt_udiv", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I64, "__rt_udiv64", CallingConv::ARM_AAPCS},
+      };
+
+      for (const auto &LC : LibraryCalls) {
+        Info.setLibcallName(LC.Op, LC.Name);
+        Info.setLibcallCallingConv(LC.Op, LC.CC);
+      }
+    } else {
+      const struct {
+        const RTLIB::Libcall Op;
+        const char *const Name;
+        const CallingConv::ID CC;
+      } LibraryCalls[] = {
+          {RTLIB::SDIVREM_I8, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I16, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I32, "__aeabi_idivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::SDIVREM_I64, "__aeabi_ldivmod", CallingConv::ARM_AAPCS},
+
+          {RTLIB::UDIVREM_I8, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I16, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I32, "__aeabi_uidivmod", CallingConv::ARM_AAPCS},
+          {RTLIB::UDIVREM_I64, "__aeabi_uldivmod", CallingConv::ARM_AAPCS},
+      };
+
+      for (const auto &LC : LibraryCalls) {
+        Info.setLibcallName(LC.Op, LC.Name);
+        Info.setLibcallCallingConv(LC.Op, LC.CC);
+      }
+    }
+  }
+}
+
 /// Set default libcall names. If a target wants to opt-out of a libcall it
 /// should be placed here.
 void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
@@ -249,6 +299,9 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
     }
   }
 
+  if (TT.getArch() == Triple::ArchType::arm)
+    setARMLibcallNames(*this, TT);
+
   if (TT.getArch() == Triple::ArchType::avr) {
     // Division rtlib functions (not supported), use divmod functions instead
     setLibcallName(RTLIB::SDIV_I8, nullptr);
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index d156851d7e214..4b01d6fe6edb7 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -1274,50 +1274,6 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM,
     setOperationAction(ISD::UREM, MVT::i64, Custom);
     HasStandaloneRem = false;
 
-    if (Subtarget->isTargetWindows()) {
-      const struct {
-        const RTLIB::Libcall Op;
-        const char * const Name;
-        const CallingConv::ID CC;
-      } LibraryCalls[] = {
-        { RTLIB::SDIVREM_I8, "__rt_sdiv", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I16, "__rt_sdiv", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I32, "__rt_sdiv", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I64, "__rt_sdiv64", CallingConv::ARM_AAPCS },
-
-        { RTLIB::UDIVREM_I8, "__rt_udiv", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I16, "__rt_udiv", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I32, "__rt_udiv", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I64, "__rt_udiv64", CallingConv::ARM_AAPCS },
-      };
-
-      for (const auto &LC : LibraryCalls) {
-        setLibcallName(LC.Op, LC.Name);
-        setLibcallCallingConv(LC.Op, LC.CC);
-      }
-    } else {
-      const struct {
-        const RTLIB::Libcall Op;
-        const char * const Name;
-        const CallingConv::ID CC;
-      } LibraryCalls[] = {
-        { RTLIB::SDIVREM_I8, "__aeabi_idivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I16, "__aeabi_idivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I32, "__aeabi_idivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::SDIVREM_I64, "__aeabi_ldivmod", CallingConv::ARM_AAPCS },
-
-        { RTLIB::UDIVREM_I8, "__aeabi_uidivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I16, "__aeabi_uidivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I32, "__aeabi_uidivmod", CallingConv::ARM_AAPCS },
-        { RTLIB::UDIVREM_I64, "__aeabi_uldivmod", CallingConv::ARM_AAPCS },
-      };
-
-      for (const auto &LC : LibraryCalls) {
-        setLibcallName(LC.Op, LC.Name);
-        setLibcallCallingConv(LC.Op, LC.CC);
-      }
-    }
-
     setOperationAction(ISD::SDIVREM, MVT::i32, Custom);
     setOperationAction(ISD::UDIVREM, MVT::i32, Custom);
     setOperationAction(ISD::SDIVREM, MVT::i64, Custom);
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h
index 7329d3f2055f0..890a22f574a6b 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.h
+++ b/llvm/lib/Target/ARM/ARMSubtarget.h
@@ -348,31 +348,11 @@ class ARMSubtarget : public ARMGenSubtargetInfo {
   bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
   bool isTargetMachO() const { return TargetTriple.isOSBinFormatMachO(); }
 
-  // ARM EABI is the bare-metal EABI described in ARM ABI documents and
-  // can be accessed via -target arm-none-eabi. This is NOT GNUEABI.
-  // FIXME: Add a flag for bare-metal for that target and set Triple::EABI
-  // even for GNUEABI, so we can make a distinction here and still conform to
-  // the EABI on GNU (and Android) mode. This requires change in Clang, too.
-  // FIXME: The Darwin exception is temporary, while we move users to
-  // "*-*-*-macho" triples as quickly as possible.
-  bool isTargetAEABI() const {
-    return (TargetTriple.getEnvironment() == Triple::EABI ||
-            TargetTriple.getEnvironment() == Triple::EABIHF) &&
-           !isTargetDarwin() && !isTargetWindows();
-  }
-  bool isTargetGNUAEABI() const {
-    return (TargetTriple.getEnvironment() == Triple::GNUEABI ||
-            TargetTriple.getEnvironment() == Triple::GNUEABIT64 ||
-            TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
-            TargetTriple.getEnvironment() == Triple::GNUEABIHFT64) &&
-           !isTargetDarwin() && !isTargetWindows();
-  }
-  bool isTargetMuslAEABI() const {
-    return (TargetTriple.getEnvironment() == Triple::MuslEABI ||
-            TargetTriple.getEnvironment() == Triple::MuslEABIHF ||
-            TargetTriple.getEnvironment() == Triple::OpenHOS) &&
-           !isTargetDarwin() && !isTargetWindows();
-  }
+  bool isTargetAEABI() const { return TargetTriple.isTargetAEABI(); }
+
+  bool isTargetGNUAEABI() const { return TargetTriple.isTargetGNUAEABI(); }
+
+  bool isTargetMuslAEABI() const { return TargetTriple.isTargetMuslAEABI(); }
 
   // ARM Targets that support EHABI exception handling standard
   // Darwin uses SjLj. Other targets might need more checks.

@arsenm arsenm marked this pull request as ready for review June 3, 2025 14:50
@llvmbot llvmbot added the llvm:ir label Jun 3, 2025
Base automatically changed from users/arsenm/arm/remove-unused-condcode-table-field to main June 3, 2025 21:02
@arsenm arsenm force-pushed the users/arsenm/arm/start-moving-runtime-libcall-names-out-of-targetlowering branch 2 times, most recently from 2087b4d to 8335786 Compare June 9, 2025 13:02
These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
@arsenm arsenm force-pushed the users/arsenm/arm/start-moving-runtime-libcall-names-out-of-targetlowering branch from 8335786 to b036500 Compare June 9, 2025 13:03
// Register based DivRem for AEABI (RTABI 4.2)
if (TT.isTargetAEABI() || TT.isAndroid() || TT.isTargetGNUAEABI() ||
TT.isTargetMuslAEABI() || TT.isOSWindows()) {
if (TT.isOSWindows()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we reduce the nesting here? if (TT.isOSWindows()) {} else if (TT.isTargetAEABI() || TT.isAndroid() || ...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have most of a patch to replace this with tablegenerated code so I don't want to put too much effort into making it nice

Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess this is fine, then.

Copy link
Collaborator

@efriedma-quic efriedma-quic left a comment

Choose a reason for hiding this comment

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

LGTM

// Register based DivRem for AEABI (RTABI 4.2)
if (TT.isTargetAEABI() || TT.isAndroid() || TT.isTargetGNUAEABI() ||
TT.isTargetMuslAEABI() || TT.isOSWindows()) {
if (TT.isOSWindows()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess this is fine, then.

Copy link
Contributor Author

arsenm commented Jun 10, 2025

Merge activity

  • Jun 10, 12:59 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 10, 1:00 AM UTC: @arsenm merged this pull request with Graphite.

@arsenm arsenm merged commit a082f66 into main Jun 10, 2025
5 of 7 checks passed
@arsenm arsenm deleted the users/arsenm/arm/start-moving-runtime-libcall-names-out-of-targetlowering branch June 10, 2025 01:00
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 10, 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 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/lld/test/COFF/lto-late-arm.ll /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/lld/test/COFF/lto-late-arm.ll /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-as /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-as /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-as /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-as /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/lld-link /entry:entry /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ env LLD_IN_TEST=1 not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/lld-link /entry:entry /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/lld/test/COFF/lto-late-arm.ll
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 10, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-msan running on sanitizer-buildbot10 while building llvm at step 2 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:73: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87901 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lld :: COFF/lto-late-arm.ll (85086 of 87901)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
68.52s: Clang :: Driver/fsanitize.c
48.66s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll
48.54s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
46.49s: Clang :: Preprocessor/riscv-target-features.c
45.75s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
43.59s: Clang :: Driver/arm-cortex-cpus-2.c
43.00s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
42.69s: Clang :: Analysis/runtime-regression.c
42.58s: Clang :: Driver/arm-cortex-cpus-1.c
40.88s: LLVM :: MC/Mips/mips-jump-pc-region.s
39.21s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
Step 11 (stage2/msan check) failure: stage2/msan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:73: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87901 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lld :: COFF/lto-late-arm.ll (85086 of 87901)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
68.52s: Clang :: Driver/fsanitize.c
48.66s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll
48.54s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
46.49s: Clang :: Preprocessor/riscv-target-features.c
45.75s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
43.59s: Clang :: Driver/arm-cortex-cpus-2.c
43.00s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
42.69s: Clang :: Analysis/runtime-regression.c
42.58s: Clang :: Driver/arm-cortex-cpus-1.c
40.88s: LLVM :: MC/Mips/mips-jump-pc-region.s
39.21s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
Step 14 (stage3/msan check) failure: stage3/msan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:73: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 84819 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lld :: COFF/lto-late-arm.ll (81997 of 84819)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/llvm-as /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ env LLD_IN_TEST=1 not /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/lld-link /entry:entry /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
+ /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build2_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Slowest Tests:
--------------------------------------------------------------------------
53.24s: Clang :: Driver/fsanitize.c
38.16s: Clang :: Preprocessor/riscv-target-features.c
34.81s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
32.16s: Clang :: OpenMP/target_update_codegen.cpp
30.95s: Clang :: Driver/arm-cortex-cpus-2.c
29.99s: Clang :: Driver/arm-cortex-cpus-1.c
29.54s: LLVM :: CodeGen/RISCV/attributes.ll
27.20s: Clang :: Preprocessor/aarch64-target-features.c
26.85s: Clang :: Preprocessor/arm-target-features.c
23.50s: LLVM :: tools/llvm-reduce/parallel-workitem-kill.ll
23.28s: Clang :: Preprocessor/predefined-arch-macros.c

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 10, 2025

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

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

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /build/buildbot/premerge-monolithic-linux/llvm-project/lld/test/COFF/lto-late-arm.ll /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /build/buildbot/premerge-monolithic-linux/llvm-project/lld/test/COFF/lto-late-arm.ll /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/build/buildbot/premerge-monolithic-linux/build/bin/llvm-as /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /build/buildbot/premerge-monolithic-linux/build/bin/llvm-as /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/build/buildbot/premerge-monolithic-linux/build/bin/llvm-as /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /build/buildbot/premerge-monolithic-linux/build/bin/llvm-as /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /build/buildbot/premerge-monolithic-linux/build/bin/lld-link /entry:entry /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ env LLD_IN_TEST=1 not /build/buildbot/premerge-monolithic-linux/build/bin/lld-link /entry:entry /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/build/buildbot/premerge-monolithic-linux/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/lld/test/COFF/lto-late-arm.ll
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************


@boomanaiden154
Copy link
Contributor

@arsenm This broke a couple buildbots and premerge CI it appears. Are you able to revert/fix forward?

Premerge CI for this PR: https://github.com/llvm/llvm-project/actions/runs/15535232854

Postmerge buildbot: https://lab.llvm.org/buildbot/#/builders/153/builds/34298

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 10, 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 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/lld/test/COFF/lto-late-arm.ll /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/lld/test/COFF/lto-late-arm.ll /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-as /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-as /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-as /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-as /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/lld-link /entry:entry /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/lld/test/COFF/lto-late-arm.ll
+ env LLD_IN_TEST=1 not /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/lld-link /entry:entry /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/b/1/llvm-clang-x86_64-expensive-checks-debian/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 10, 2025

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

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

Here is the relevant piece of the build log for the reference
Step 8 (test-build-unified-tree-check-lld) failure: test (failure)
******************** TEST 'lld :: COFF/lto-late-arm.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
rm -rf /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 10
+ rm -rf /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
split-file /b/1/llvm-x86_64-debian-dylib/llvm-project/lld/test/COFF/lto-late-arm.ll /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir # RUN: at line 11
+ split-file /b/1/llvm-x86_64-debian-dylib/llvm-project/lld/test/COFF/lto-late-arm.ll /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir
/b/1/llvm-x86_64-debian-dylib/build/bin/llvm-as /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj # RUN: at line 12
+ /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-as /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/main.ll -o /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj
/b/1/llvm-x86_64-debian-dylib/build/bin/llvm-as /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 13
+ /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-as /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.dir/sdiv.ll -o /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
llvm-ar rcs /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj # RUN: at line 14
+ llvm-ar rcs /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.obj
env LLD_IN_TEST=1 not /b/1/llvm-x86_64-debian-dylib/build/bin/lld-link /entry:entry /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console 2>&1 | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/lld/test/COFF/lto-late-arm.ll # RUN: at line 16
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/lld/test/COFF/lto-late-arm.ll
+ env LLD_IN_TEST=1 not /b/1/llvm-x86_64-debian-dylib/build/bin/lld-link /entry:entry /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.main.obj /b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.sdiv.lib /out:/b/1/llvm-x86_64-debian-dylib/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe /subsystem:console
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/lld/test/COFF/lto-late-arm.ll

--

********************


@boomanaiden154
Copy link
Contributor

I'm thinking that the test might be invalid given the new behavior. It relies on lld-link lazily loading the definition for __rt_sdiv. Now that everything is set up in RuntimeLibCalls, we end up with __rt_sdiv in the preopt IR so it lowers just fine since everything is together. I think that actually prevents the issue that 7f9a004 was originally intending to catch/diagnose in the first place. I'm going to push a patch to delete the test to get buildbots unblocked.

@mstorsjo @arsenm Please let me know if I'm mistaken here/need to adjust something.

@arsenm
Copy link
Contributor Author

arsenm commented Jun 10, 2025

The whole point of doing this is the RuntimeLibcallInfo uses outside of TargetLowering are wrong; they will incorrectly see the default function names which won't actually be used with the target. The test probably needs updating to the correct libcall name

@arsenm
Copy link
Contributor Author

arsenm commented Jun 10, 2025

The problem will still occur for other subtarget dependent libcall choices, which is the next problem I'm working on

@boomanaiden154
Copy link
Contributor

The whole point of doing this is the RuntimeLibcallInfo uses outside of TargetLowering are wrong; they will incorrectly see the default function names which won't actually be used with the target.

I don't think that matters here. __rt_sdiv will end up getting used with this target triple to lower sdiv instructions.

The test probably needs updating to the correct libcall name

The libcall name in the test is correct, at least as far as I can tell. The sdiv lowers to __rt_sdiv libcall and produces an undefined symbol error if I drop the file defining __rt_sdiv:

lld-link: error: undefined symbol: __rt_sdiv
>>> referenced by /home/gha/llvm-project/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe.lto.obj:(entry)

I am unsure if the LTO infrastructure that figures out what needs to be imported is doing the correct thing here though. I can readd the test/mark it as XFAIL if this is expected to return to the same behavior at some point.

@mstorsjo
Copy link
Member

The whole point of doing this is the RuntimeLibcallInfo uses outside of TargetLowering are wrong; they will incorrectly see the default function names which won't actually be used with the target.

I don't think that matters here. __rt_sdiv will end up getting used with this target triple to lower sdiv instructions.

The test probably needs updating to the correct libcall name

The libcall name in the test is correct, at least as far as I can tell. The sdiv lowers to __rt_sdiv libcall and produces an undefined symbol error if I drop the file defining __rt_sdiv:

lld-link: error: undefined symbol: __rt_sdiv
>>> referenced by /home/gha/llvm-project/build/tools/lld/test/COFF/Output/lto-late-arm.ll.tmp.exe.lto.obj:(entry)

I am unsure if the LTO infrastructure that figures out what needs to be imported is doing the correct thing here though. I can readd the test/mark it as XFAIL if this is expected to return to the same behavior at some point.

Yeah, this is what's happening now -

// If any inputs are bitcode files, the LTO code generator may create
// references to library functions that are not explicit in the bitcode
// file's symbol table. If any of those library functions are defined in
// a bitcode file in an archive member, we need to arrange to use LTO to
// compile those archive members by adding them to the link beforehand.
if (!symtab.bitcodeFileInstances.empty()) {
llvm::Triple TT(
symtab.bitcodeFileInstances.front()->obj->getTargetTriple());
for (auto *s : lto::LTO::getRuntimeLibcallSymbols(TT))
symtab.addLibcall(s);
}
now lists __rt_sdiv as a potential libcall, so it gets imported properly before doing LTO.

So the issue that the test exercised no longer exists, at least for these libcalls (perhaps there are other libcalls that can trigger similar issues later?), so I think the right thing to do is to convert this from a negative test to a positive one that tests that this now works as expected. (We do lose test coverage for the error situation though.) I can make a PR for that.

rorth pushed a commit to rorth/llvm-project that referenced this pull request Jun 11, 2025
…llvm#142617)

These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
DhruvSrivastavaX pushed a commit to DhruvSrivastavaX/lldb-for-aix that referenced this pull request Jun 12, 2025
…llvm#142617)

These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
tomtor pushed a commit to tomtor/llvm-project that referenced this pull request Jun 14, 2025
…llvm#142617)

These Module level triple checks implemented in the Subtarget are kind of
a pain and we should probably get rid of all of them in across all targets,
and stick to a consistent set of names.
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.

6 participants