Skip to content

Conversation

@sdesmalen-arm
Copy link
Collaborator

@sdesmalen-arm sdesmalen-arm commented Nov 11, 2025

This is a follow-up from #166926 that ensures the hints are only added once, and ensures that hints inserted by the register allocator take priority over hints to reduce movprfx.

Ensures the hints are only added once, and ensures that hints
inserted by the register allocator take priority over hints to
reduce movprfx.
@llvmbot
Copy link
Member

llvmbot commented Nov 11, 2025

@llvm/pr-subscribers-backend-aarch64

Author: Sander de Smalen (sdesmalen-arm)

Changes

Ensures the hints are only added once, and ensures that hints inserted by the register allocator take priority over hints to reduce movprfx.


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

2 Files Affected:

  • (modified) llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp (+21-12)
  • (added) llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir (+66)
diff --git a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
index eaf8723094797..a6f48cdc6c19a 100644
--- a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
@@ -1157,6 +1157,9 @@ bool AArch64RegisterInfo::getRegAllocationHints(
   // a movprfx.
   const TargetRegisterClass *RegRC = MRI.getRegClass(VirtReg);
   if (AArch64::ZPRRegClass.hasSubClassEq(RegRC)) {
+    bool ConsiderOnlyHints = TargetRegisterInfo::getRegAllocationHints(
+        VirtReg, Order, Hints, MF, VRM);
+
     for (const MachineOperand &DefOp : MRI.def_operands(VirtReg)) {
       const MachineInstr &Def = *DefOp.getParent();
       if (DefOp.isImplicit() ||
@@ -1168,26 +1171,33 @@ bool AArch64RegisterInfo::getRegAllocationHints(
           TII->get(AArch64::getSVEPseudoMap(Def.getOpcode())).TSFlags;
 
       for (MCPhysReg R : Order) {
-        auto AddHintIfSuitable = [&](MCPhysReg R, const MachineOperand &MO) {
-          // R is a suitable register hint if there exists an operand for the
-          // instruction that is not yet allocated a register or if R matches
-          // one of the other source operands.
-          if (!VRM->hasPhys(MO.getReg()) || VRM->getPhys(MO.getReg()) == R)
+        auto AddHintIfSuitable = [&](MCPhysReg R,
+                                     const MachineOperand &MO) -> bool {
+          // R is a suitable register hint if:
+          // * R is one of the source operands.
+          // * The register allocator has not suggested any hints and one of the
+          //   instruction's source operands does not yet have a register
+          //   allocated for it.
+          if (VRM->getPhys(MO.getReg()) == R ||
+              (!VRM->hasPhys(MO.getReg()) && Hints.empty())) {
             Hints.push_back(R);
+            return true;
+          }
+          return false;
         };
 
         switch (InstFlags & AArch64::DestructiveInstTypeMask) {
         default:
           break;
         case AArch64::DestructiveTernaryCommWithRev:
-          AddHintIfSuitable(R, Def.getOperand(2));
-          AddHintIfSuitable(R, Def.getOperand(3));
-          AddHintIfSuitable(R, Def.getOperand(4));
+          AddHintIfSuitable(R, Def.getOperand(2)) ||
+              AddHintIfSuitable(R, Def.getOperand(3)) ||
+              AddHintIfSuitable(R, Def.getOperand(4));
           break;
         case AArch64::DestructiveBinaryComm:
         case AArch64::DestructiveBinaryCommWithRev:
-          AddHintIfSuitable(R, Def.getOperand(2));
-          AddHintIfSuitable(R, Def.getOperand(3));
+          AddHintIfSuitable(R, Def.getOperand(2)) ||
+              AddHintIfSuitable(R, Def.getOperand(3));
           break;
         case AArch64::DestructiveBinary:
         case AArch64::DestructiveBinaryImm:
@@ -1198,8 +1208,7 @@ bool AArch64RegisterInfo::getRegAllocationHints(
     }
 
     if (Hints.size())
-      return TargetRegisterInfo::getRegAllocationHints(VirtReg, Order, Hints,
-                                                       MF, VRM);
+      return ConsiderOnlyHints;
   }
 
   if (!ST.hasSME() || !ST.isStreaming())
diff --git a/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir b/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir
new file mode 100644
index 0000000000000..c2d8f8e73772d
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir
@@ -0,0 +1,66 @@
+# RUN: llc -mtriple=aarch64 -mattr=+sve -start-before=greedy -stop-after=virtregrewriter -debug-only=regalloc %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=DBG
+
+# Check that the register allocator gets hints to reuse registers of one of it's operands.
+---
+name:            prioritize_movprfx_hints
+tracksRegLiveness: true
+isSSA:           false
+noVRegs:         false
+body:             |
+  bb.0.entry:
+    liveins: $z0, $z1, $z2, $z3, $p0
+
+    ; DBG: Machine code for function prioritize_movprfx_hints
+    ;
+    ; DBG: selectOrSplit ZPR:%4
+    ; DBG-NEXT: hints: $z0 $z1{{$}}
+    ;
+    ; DBG: selectOrSplit ZPR:%5
+    ; DBG-NEXT: hints: $z2 $z3{{$}}
+    ;
+    ; DBG: [%0 -> $z3] ZPR
+    ; DBG: [%1 -> $z2] ZPR
+    ; DBG: [%2 -> $z1] ZPR
+    ; DBG: [%3 -> $z0] ZPR
+    ; DBG: [%4 -> $z0] ZPR
+    ; DBG: [%5 -> $z2] ZPR
+    ; DBG: [%6 -> $z0] ZPR
+    %0:zpr = COPY $z3
+    %1:zpr = COPY $z2
+    %2:zpr = COPY $z1
+    %3:zpr = COPY $z0
+    %4:zpr = SDIV_ZPZZ_D_UNDEF $p0, %3:zpr, %2:zpr
+    %5:zpr = MUL_ZPZZ_D_UNDEF $p0, %1:zpr, %0:zpr
+    %6:zpr = MUL_ZPZZ_D_UNDEF $p0, %5:zpr, %4:zpr
+    $z0 = COPY %6:zpr
+    RET_ReallyLR implicit $z0
+...
+
+# Check that the register allocator prioritises hints that are set by the register
+# allocator itself (i.e. to use z4 for the result register).
+---
+name:            prioritize_regalloc_hints
+isSSA:           false
+noVRegs:         false
+body:             |
+  bb.0.entry:
+    %0:zpr = FDUP_ZI_S 0, implicit $vg
+    %1:zpr = FDUP_ZI_S 16, implicit $vg
+    %2:zpr = FDUP_ZI_S 32, implicit $vg
+    %3:ppr_3b = PTRUE_S 31, implicit $vg
+
+    ; DBG: Machine code for function prioritize_regalloc_hints
+    ;
+    ; DBG: selectOrSplit ZPR:%4
+    ; DBG-NEXT: hints: $z4{{$}}
+    ;
+    ; DBG: [%0 -> $z0] ZPR
+    ; DBG: [%1 -> $z1] ZPR
+    ; DBG: [%2 -> $z2] ZPR
+    ; DBG: [%3 -> $p0] PPR_3b
+    ; DBG: [%4 -> $z4] ZPR
+
+    %4:zpr = FMLA_ZPZZZ_S_UNDEF %3, %0, %1, %2
+    $z4 = COPY %4
+    RET_ReallyLR implicit $z4
+...

Copy link
Collaborator

@paulwalker-arm paulwalker-arm left a comment

Choose a reason for hiding this comment

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

Personally I'd prefer a title that describes the change, but otherwise this looks good to me.

Comment on lines +1193 to +1195
AddHintIfSuitable(R, Def.getOperand(2)) ||
AddHintIfSuitable(R, Def.getOperand(3)) ||
AddHintIfSuitable(R, Def.getOperand(4));
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this code trying to ensure we add at most one hint in this function? I think it's reasonable to add one hint for each destructive operand with a physical register allocated, in case their live ranges differ.

In any case, I believe this code may still insert a duplicate hint when the physical register of a destructive operand happens to match a hint previously inserted by the target-independent call.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This change is trying to avoid for e.g. R = z0 adding [z0, z0, z0] to the list if operands 2, 3 and 4 are equal to z0.

It could indeed still add a duplicate hint if the same hint was added by TargetRegisterInfo::getRegAllocationHints, but I don't believe that's an issue. Do you?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think it's an issue as such, but maybe you could use something like !is_contained(Hints, R) in AddHintIfSuitable to avoid adding duplicates while still being able to add a hint per unique destructive operand? What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

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

Nevermind, I had misread the code, I see what you mean now. Feel free to ignore my previous suggestion.

@sdesmalen-arm sdesmalen-arm changed the title [AArch64] Follow-up from #166926 [AArch64] Prioritize regalloc hints over movprfx hints Nov 11, 2025
Copy link
Contributor

@rj-jesus rj-jesus left a comment

Choose a reason for hiding this comment

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

LGTM as far as I can tell, cheers. :)

There's a CI test failing, but it looks unrelated.

@sdesmalen-arm sdesmalen-arm merged commit fe8865c into llvm:main Nov 12, 2025
9 of 10 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 12, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-b-1 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
  Passed           : 47727 (97.46%)
  Expectedly Failed:    24 (0.05%)
[1464/1466] Linking CXX executable unittests/Frontend/LLVMFrontendTests
[1465/1466] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/wasm-ld
-- Testing: 62118 tests, 60 workers --
Testing:  0.
FAIL: LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir (4767 of 62118)
******************** TEST 'LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc -mtriple=aarch64 -mattr=+sve -start-before=greedy -stop-after=virtregrewriter -debug-only=regalloc /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir -o /dev/null 2>&1 | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir --check-prefix=DBG
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc -mtriple=aarch64 -mattr=+sve -start-before=greedy -stop-after=virtregrewriter -debug-only=regalloc /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir -o /dev/null
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir --check-prefix=DBG
# .---command stderr------------
# | /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir:13:9: error: DBG: expected string not found in input
# |  ; DBG: Machine code for function prioritize_movprfx_hints
# |         ^
# | <stdin>:1:1: note: scanning from here
# | llc: Unknown command line argument '-debug-only=regalloc'. Try: '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc --help'
# | ^
# | <stdin>:2:1: note: possible intended match here
# | llc: Did you mean '--debug-pass=regalloc'?
# | ^
# | 
# | Input file: <stdin>
# | Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: llc: Unknown command line argument '-debug-only=regalloc'. Try: '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc --help' 
# | check:13'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: llc: Did you mean '--debug-pass=regalloc'? 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:13'1     ?                                           possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

Step 7 (check) failure: check (failure)
...
  Passed           : 47727 (97.46%)
  Expectedly Failed:    24 (0.05%)
[1464/1466] Linking CXX executable unittests/Frontend/LLVMFrontendTests
[1465/1466] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/wasm-ld
-- Testing: 62118 tests, 60 workers --
Testing:  0.
FAIL: LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir (4767 of 62118)
******************** TEST 'LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc -mtriple=aarch64 -mattr=+sve -start-before=greedy -stop-after=virtregrewriter -debug-only=regalloc /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir -o /dev/null 2>&1 | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir --check-prefix=DBG
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc -mtriple=aarch64 -mattr=+sve -start-before=greedy -stop-after=virtregrewriter -debug-only=regalloc /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir -o /dev/null
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir --check-prefix=DBG
# .---command stderr------------
# | /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir:13:9: error: DBG: expected string not found in input
# |  ; DBG: Machine code for function prioritize_movprfx_hints
# |         ^
# | <stdin>:1:1: note: scanning from here
# | llc: Unknown command line argument '-debug-only=regalloc'. Try: '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc --help'
# | ^
# | <stdin>:2:1: note: possible intended match here
# | llc: Did you mean '--debug-pass=regalloc'?
# | ^
# | 
# | Input file: <stdin>
# | Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/CodeGen/AArch64/regalloc-hint-movprfx.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: llc: Unknown command line argument '-debug-only=regalloc'. Try: '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-y3wjsxwb/bin/llc --help' 
# | check:13'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: llc: Did you mean '--debug-pass=regalloc'? 
# | check:13'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:13'1     ?                                           possible intended match
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1


@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 12, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-darwin running on doug-worker-3 while building llvm at step 2 "checkout".

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

Here is the relevant piece of the build log for the reference
Step 2 (checkout) failure: update (failure)
...
remote: Counting objects: 100% (181/181)        
remote: Counting objects: 100% (181/181), done.        
remote: Compressing objects:   2% (1/43)        
remote: Compressing objects:   4% (2/43)        
remote: Compressing objects:   6% (3/43)        
remote: Compressing objects:   9% (4/43)        
remote: Compressing objects:  11% (5/43)        
remote: Compressing objects:  13% (6/43)        
remote: Compressing objects:  16% (7/43)        
remote: Compressing objects:  18% (8/43)        
remote: Compressing objects:  20% (9/43)        
remote: Compressing objects:  23% (10/43)        
remote: Compressing objects:  25% (11/43)        
remote: Compressing objects:  27% (12/43)        
remote: Compressing objects:  30% (13/43)        
remote: Compressing objects:  32% (14/43)        
remote: Compressing objects:  34% (15/43)        
remote: Compressing objects:  37% (16/43)        
remote: Compressing objects:  39% (17/43)        
remote: Compressing objects:  41% (18/43)        
remote: Compressing objects:  44% (19/43)        
remote: Compressing objects:  46% (20/43)        
remote: Compressing objects:  48% (21/43)        
remote: Compressing objects:  51% (22/43)        
remote: Compressing objects:  53% (23/43)        
remote: Compressing objects:  55% (24/43)        
remote: Compressing objects:  58% (25/43)        
remote: Compressing objects:  60% (26/43)        
remote: Compressing objects:  62% (27/43)        
remote: Compressing objects:  65% (28/43)        
remote: Compressing objects:  67% (29/43)        
remote: Compressing objects:  69% (30/43)        
remote: Compressing objects:  72% (31/43)        
remote: Compressing objects:  74% (32/43)        
remote: Compressing objects:  76% (33/43)        
remote: Compressing objects:  79% (34/43)        
remote: Compressing objects:  81% (35/43)        
remote: Compressing objects:  83% (36/43)        
remote: Compressing objects:  86% (37/43)        
remote: Compressing objects:  88% (38/43)        
remote: Compressing objects:  90% (39/43)        
remote: Compressing objects:  93% (40/43)        
remote: Compressing objects:  95% (41/43)        
remote: Compressing objects:  97% (42/43)        
remote: Compressing objects: 100% (43/43)        
remote: Compressing objects: 100% (43/43), done.        
remote: Total 49 (delta 39), reused 13 (delta 5), pack-reused 0 (from 0)        
From https://github.com/llvm/llvm-project
 * branch                      main       -> FETCH_HEAD
fatal: reference is not a tree: fe8865c468b65f54db63d2ec2c95b775246040db

@juliannagele
Copy link
Member

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-b-1 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference

FAIL: LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir (4767 of 62118)
******************** TEST 'LLVM :: CodeGen/AArch64/regalloc-hint-movprfx.mir' FAILED ********************
Exit Code: 1

Seems like the test added here is also failing on green dragon: https://ci.swift.org/job/llvm.org/job/clang-stage2-cmake-RgSan/1180/testReport/ -- could you have a look?

@sdesmalen-arm
Copy link
Collaborator Author

I think that failure should be resolved by 07cd105 ?

@juliannagele
Copy link
Member

Ah, nice, the build with that included is still running (https://ci.swift.org/job/llvm.org/job/clang-stage2-cmake-RgSan/1181/), let's see what falls out, thanks :)

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