Skip to content

[RISCV] Use QC_E_ADDI while eliminating the frameindex #139515

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 4 commits into from
May 16, 2025

Conversation

svs-quic
Copy link
Contributor

The QC_E_ADDI instruction from the Xqcilia extension takes a signed 26-bit immediate and can be used instead of splitting the offset across two ADDI's while eliminating the frameindex.

The QC_E_ADDI instruction from the Xqcilia extension takes a signed 26-bit
immediate and can be used instead of splitting the offset across two ADDI's
while eliminating the frameindex.
@llvmbot
Copy link
Member

llvmbot commented May 12, 2025

@llvm/pr-subscribers-backend-risc-v

Author: Sudharsan Veeravalli (svs-quic)

Changes

The QC_E_ADDI instruction from the Xqcilia extension takes a signed 26-bit immediate and can be used instead of splitting the offset across two ADDI's while eliminating the frameindex.


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

2 Files Affected:

  • (modified) llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp (+11)
  • (modified) llvm/test/CodeGen/RISCV/stack-offset.ll (+99)
diff --git a/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp b/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
index c6f6c9007b2b1..8c754222a3b0c 100644
--- a/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+++ b/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
@@ -288,6 +288,17 @@ void RISCVRegisterInfo::adjustReg(MachineBasicBlock &MBB,
     return;
   }
 
+  // Use the QC_E_ADDI instruction from the Xqcilia extension that can take a
+  // signed 26-bit immediate. Avoid anything which can be done with a single lui
+  // as it might be compressible.
+  if (ST.hasVendorXqcilia() && isInt<26>(Val) && (Val & 0xFFF) != 0) {
+    BuildMI(MBB, II, DL, TII->get(RISCV::QC_E_ADDI), DestReg)
+        .addReg(SrcReg, getKillRegState(KillSrcReg))
+        .addImm(Val)
+        .setMIFlag(Flag);
+    return;
+  }
+
   // Try to split the offset across two ADDIs. We need to keep the intermediate
   // result aligned after each ADDI.  We need to determine the maximum value we
   // can put in each ADDI. In the negative direction, we can use -2048 which is
diff --git a/llvm/test/CodeGen/RISCV/stack-offset.ll b/llvm/test/CodeGen/RISCV/stack-offset.ll
index 402d3546eae29..cdc117675af97 100644
--- a/llvm/test/CodeGen/RISCV/stack-offset.ll
+++ b/llvm/test/CodeGen/RISCV/stack-offset.ll
@@ -1,6 +1,8 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \
 ; RUN:   | FileCheck %s -check-prefixes=RV32,RV32I
+; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+experimental-xqcilia < %s \
+; RUN:   | FileCheck %s -check-prefixes=RV32XQCILIA
 ; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+zba < %s \
 ; RUN:   | FileCheck %s -check-prefixes=RV32,RV32ZBA
 ; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \
@@ -39,6 +41,27 @@ define void @test() {
 ; RV32I-NEXT:    .cfi_def_cfa_offset 0
 ; RV32I-NEXT:    ret
 ;
+; RV32XQCILIA-LABEL: test:
+; RV32XQCILIA:       # %bb.0:
+; RV32XQCILIA-NEXT:    addi sp, sp, -2032
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 2032
+; RV32XQCILIA-NEXT:    sw ra, 2028(sp) # 4-byte Folded Spill
+; RV32XQCILIA-NEXT:    .cfi_offset ra, -4
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, -3168
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 5200
+; RV32XQCILIA-NEXT:    addi a0, sp, 12
+; RV32XQCILIA-NEXT:    qc.e.addi a1, sp, 2060
+; RV32XQCILIA-NEXT:    qc.e.addi a2, sp, 4108
+; RV32XQCILIA-NEXT:    qc.e.addi a3, sp, 5132
+; RV32XQCILIA-NEXT:    call inspect
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, 3168
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 2032
+; RV32XQCILIA-NEXT:    lw ra, 2028(sp) # 4-byte Folded Reload
+; RV32XQCILIA-NEXT:    .cfi_restore ra
+; RV32XQCILIA-NEXT:    addi sp, sp, 2032
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 0
+; RV32XQCILIA-NEXT:    ret
+;
 ; RV32ZBA-LABEL: test:
 ; RV32ZBA:       # %bb.0:
 ; RV32ZBA-NEXT:    addi sp, sp, -2032
@@ -150,6 +173,25 @@ define void @align_8() {
 ; RV32I-NEXT:    .cfi_def_cfa_offset 0
 ; RV32I-NEXT:    ret
 ;
+; RV32XQCILIA-LABEL: align_8:
+; RV32XQCILIA:       # %bb.0:
+; RV32XQCILIA-NEXT:    addi sp, sp, -256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    sw ra, 252(sp) # 4-byte Folded Spill
+; RV32XQCILIA-NEXT:    .cfi_offset ra, -4
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, -3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 4112
+; RV32XQCILIA-NEXT:    addi a0, sp, 7
+; RV32XQCILIA-NEXT:    qc.e.addi a1, sp, 4104
+; RV32XQCILIA-NEXT:    call inspect
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, 3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    lw ra, 252(sp) # 4-byte Folded Reload
+; RV32XQCILIA-NEXT:    .cfi_restore ra
+; RV32XQCILIA-NEXT:    addi sp, sp, 256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 0
+; RV32XQCILIA-NEXT:    ret
+;
 ; RV32ZBA-LABEL: align_8:
 ; RV32ZBA:       # %bb.0:
 ; RV32ZBA-NEXT:    addi sp, sp, -2032
@@ -246,6 +288,25 @@ define void @align_4() {
 ; RV32I-NEXT:    .cfi_def_cfa_offset 0
 ; RV32I-NEXT:    ret
 ;
+; RV32XQCILIA-LABEL: align_4:
+; RV32XQCILIA:       # %bb.0:
+; RV32XQCILIA-NEXT:    addi sp, sp, -256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    sw ra, 252(sp) # 4-byte Folded Spill
+; RV32XQCILIA-NEXT:    .cfi_offset ra, -4
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, -3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 4112
+; RV32XQCILIA-NEXT:    addi a0, sp, 7
+; RV32XQCILIA-NEXT:    qc.e.addi a1, sp, 4104
+; RV32XQCILIA-NEXT:    call inspect
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, 3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    lw ra, 252(sp) # 4-byte Folded Reload
+; RV32XQCILIA-NEXT:    .cfi_restore ra
+; RV32XQCILIA-NEXT:    addi sp, sp, 256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 0
+; RV32XQCILIA-NEXT:    ret
+;
 ; RV32ZBA-LABEL: align_4:
 ; RV32ZBA:       # %bb.0:
 ; RV32ZBA-NEXT:    addi sp, sp, -2032
@@ -342,6 +403,25 @@ define void @align_2() {
 ; RV32-NEXT:    .cfi_def_cfa_offset 0
 ; RV32-NEXT:    ret
 ;
+; RV32XQCILIA-LABEL: align_2:
+; RV32XQCILIA:       # %bb.0:
+; RV32XQCILIA-NEXT:    addi sp, sp, -256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    sw ra, 252(sp) # 4-byte Folded Spill
+; RV32XQCILIA-NEXT:    .cfi_offset ra, -4
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, -3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 4112
+; RV32XQCILIA-NEXT:    addi a0, sp, 9
+; RV32XQCILIA-NEXT:    qc.e.addi a1, sp, 4106
+; RV32XQCILIA-NEXT:    call inspect
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, 3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    lw ra, 252(sp) # 4-byte Folded Reload
+; RV32XQCILIA-NEXT:    .cfi_restore ra
+; RV32XQCILIA-NEXT:    addi sp, sp, 256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 0
+; RV32XQCILIA-NEXT:    ret
+;
 ; RV64-LABEL: align_2:
 ; RV64:       # %bb.0:
 ; RV64-NEXT:    addi sp, sp, -2032
@@ -395,6 +475,25 @@ define void @align_1() {
 ; RV32-NEXT:    .cfi_def_cfa_offset 0
 ; RV32-NEXT:    ret
 ;
+; RV32XQCILIA-LABEL: align_1:
+; RV32XQCILIA:       # %bb.0:
+; RV32XQCILIA-NEXT:    addi sp, sp, -256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    sw ra, 252(sp) # 4-byte Folded Spill
+; RV32XQCILIA-NEXT:    .cfi_offset ra, -4
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, -3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 4112
+; RV32XQCILIA-NEXT:    addi a0, sp, 10
+; RV32XQCILIA-NEXT:    qc.e.addi a1, sp, 4107
+; RV32XQCILIA-NEXT:    call inspect
+; RV32XQCILIA-NEXT:    qc.e.addi sp, sp, 3856
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 256
+; RV32XQCILIA-NEXT:    lw ra, 252(sp) # 4-byte Folded Reload
+; RV32XQCILIA-NEXT:    .cfi_restore ra
+; RV32XQCILIA-NEXT:    addi sp, sp, 256
+; RV32XQCILIA-NEXT:    .cfi_def_cfa_offset 0
+; RV32XQCILIA-NEXT:    ret
+;
 ; RV64-LABEL: align_1:
 ; RV64:       # %bb.0:
 ; RV64-NEXT:    addi sp, sp, -2032

Copy link
Member

@lenary lenary left a comment

Choose a reason for hiding this comment

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

LGTM.

If SrcReg and DestReg are the same you could also use qc.e.addai but I think stack frames larger than 2^25 bytes are unlikely, so we can probably skip that.

Copy link
Collaborator

@topperc topperc left a comment

Choose a reason for hiding this comment

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

LGTM

@svs-quic svs-quic merged commit de0bcd0 into llvm:main May 16, 2025
11 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented May 16, 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 6 "test-openmp".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-openmp) failure: test (failure)
******************** TEST 'libarcher :: races/lock-nested-unrelated.c' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 13
/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./bin/clang -fopenmp  -gdwarf-4 -O1 -fsanitize=thread  -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -Wl,-rpath,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src   /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp -latomic && env TSAN_OPTIONS='ignore_noninstrumented_modules=0:ignore_noninstrumented_modules=1' /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/deflake.bash /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp 2>&1 | tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp.log | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./bin/clang -fopenmp -gdwarf-4 -O1 -fsanitize=thread -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -Wl,-rpath,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/runtime/src /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp -latomic
# note: command had no output on stdout or stderr
# executed command: env TSAN_OPTIONS=ignore_noninstrumented_modules=0:ignore_noninstrumented_modules=1 /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/deflake.bash /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp
# note: command had no output on stdout or stderr
# executed command: tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/runtimes/runtimes-bins/openmp/tools/archer/tests/races/Output/lock-nested-unrelated.c.tmp.log
# note: command had no output on stdout or stderr
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c:47:11: error: CHECK: expected string not found in input
# | // CHECK: ThreadSanitizer: reported {{[1-7]}} warnings
# |           ^
# | <stdin>:26:5: note: scanning from here
# | DONE
# |     ^
# | <stdin>:27:1: note: possible intended match here
# | ThreadSanitizer: thread T4 finished with ignores enabled, created at:
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            21:  #0 pthread_create /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1045:3 (lock-nested-unrelated.c.tmp+0xa2c4a) 
# |            22:  #1 __kmp_create_worker z_Linux_util.cpp (libomp.so+0xcac82) 
# |            23:  
# |            24: SUMMARY: ThreadSanitizer: data race /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/tools/archer/tests/races/lock-nested-unrelated.c:33:8 in main.omp_outlined_debug__ 
# |            25: ================== 
# |            26: DONE 
# | check:47'0         X error: no match found
# |            27: ThreadSanitizer: thread T4 finished with ignores enabled, created at: 
# | check:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:47'1     ?                                                                      possible intended match
# |            28:  #0 pthread_create /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1045:3 (lock-nested-unrelated.c.tmp+0xa2c4a) 
# | check:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            29:  #1 __kmp_create_worker z_Linux_util.cpp (libomp.so+0xcac82) 
# | check:47'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            30:  
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented May 16, 2025

LLVM Buildbot has detected a new failure on builder lldb-arm-ubuntu running on linaro-lldb-arm-ubuntu while building llvm at step 6 "test".

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

Here is the relevant piece of the build log for the reference
Step 6 (test) failure: build (failure)
...
PASS: lldb-shell :: Settings/TestFrameFormatFunctionReturn.test (1612 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatFunctionScopeObjC.test (1613 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatFunctionScope.test (1614 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatFunctionSuffix.test (1615 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatFunctionTemplateArgumentsObjC.test (1616 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatMangling.test (1617 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatFunctionTemplateArguments.test (1618 of 3064)
PASS: lldb-shell :: Settings/TestFrameFormatNoColor.test (1619 of 3064)
PASS: lldb-shell :: Settings/TestModuleCacheSanity.test (1620 of 3064)
UNRESOLVED: lldb-api :: tools/lldb-server/TestLldbGdbServer.py (1621 of 3064)
******************** TEST 'lldb-api :: tools/lldb-server/TestLldbGdbServer.py' FAILED ********************
Script:
--
/usr/bin/python3.10 /home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./lib --env LLVM_INCLUDE_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/include --env LLVM_TOOLS_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin --arch armv8l --build-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex --lldb-module-cache-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/lldb --compiler /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/clang --dsymutil /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin --lldb-obj-root /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/tools/lldb --lldb-libs-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./lib /home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/test/API/tools/lldb-server -p TestLldbGdbServer.py
--
Exit Code: 1

Command Output (stdout):
--
lldb version 21.0.0git (https://github.com/llvm/llvm-project.git revision de0bcd0564e4e67ae2afe1bad41c7bc505362e19)
  clang revision de0bcd0564e4e67ae2afe1bad41c7bc505362e19
  llvm revision de0bcd0564e4e67ae2afe1bad41c7bc505362e19
Skipping the following test categories: ['libc++', 'dsym', 'gmodules', 'debugserver', 'objc']

--
Command Output (stderr):
--
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hc_then_Csignal_signals_correct_thread_launch_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hc_then_Csignal_signals_correct_thread_launch_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hg_fails_on_another_pid_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hg_fails_on_minus_one_pid_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hg_fails_on_zero_pid_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hg_switches_to_3_threads_launch_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_Hg_switches_to_3_threads_launch_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_P_and_p_thread_suffix_work_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_P_and_p_thread_suffix_work_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_P_writes_all_gpr_registers_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_P_writes_all_gpr_registers_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_attach_commandline_continue_app_exits_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
lldb-server exiting...
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_attach_commandline_continue_app_exits_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_c_packet_works_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
lldb-server exiting...
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_c_packet_works_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_first_launch_stop_reply_thread_matches_first_qC_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_first_launch_stop_reply_thread_matches_first_qC_llgs (TestLldbGdbServer.LldbGdbServerTestCase)
UNSUPPORTED: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_hardware_breakpoint_set_and_remove_work_debugserver (TestLldbGdbServer.LldbGdbServerTestCase) (test case does not fall in any category of interest for this run) 
lldb-server exiting...
PASS: LLDB (/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang-arm) :: test_hardware_breakpoint_set_and_remove_work_llgs (TestLldbGdbServer.LldbGdbServerTestCase)

@svs-quic svs-quic deleted the xqcilia_adjustreg branch May 16, 2025 03:23
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.

5 participants