[clang] [llvm] [RISCV] Add stack clash protection (PR #117612)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 10 11:27:10 PST 2024
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-debian` running on `gribozavr4` while building `clang,llvm` at step 6 "test-build-unified-tree-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/10433
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/RISCV/stack-clash-prologue-nounwind.ll' FAILED ********************
Exit Code: 2
Command Output (stderr):
--
RUN: at line 2: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -mtriple=riscv64 -mattr=+m -O2 < /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll -check-prefix=RV64I
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -mtriple=riscv64 -mattr=+m -O2
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll -check-prefix=RV64I
# After Prologue/Epilogue Insertion & Frame Finalization
# Machine code for function f2: NoPHIs, TracksLiveness, NoVRegs, TiedOpsRewritten, TracksDebugUserValues
Frame Objects:
fi#0: size=65536, align=1, at location [SP-65536]
fi#1: size=8, align=8, at location [SP-65552]
bb.0.entry:
successors: %bb.1(0x80000000); %bb.1(100.00%)
$x10 = frame-setup LUI 16
$x6 = frame-setup SUB $x2, killed $x10
frame-setup CFI_INSTRUCTION def_cfa $x6, 65536
$x7 = frame-setup LUI 1
bb.1.entry:
; predecessors: %bb.1, %bb.0
successors: %bb.2(0x40000000), %bb.1(0x40000000); %bb.2(50.00%), %bb.1(50.00%)
$x2 = frame-setup SUB $x2, $x7
frame-setup SD $x0, $x2, 0
frame-setup BNE $x2, $x6, %bb.1
bb.2.entry:
; predecessors: %bb.1
frame-setup CFI_INSTRUCTION def_cfa_register $x2
$x2 = frame-setup ADDI $x2, -16
frame-setup CFI_INSTRUCTION def_cfa_offset 65552
renamable $x10 = ADDI $x0, 3
SB killed renamable $x10, $x2, 16 :: (volatile store (s8) into %ir.a)
renamable $x10 = LBU $x2, 16 :: (volatile load (s8) from %ir.a)
$x11 = frame-destroy LUI 16
$x11 = frame-destroy ADDIW killed $x11, 16
$x2 = frame-destroy ADD $x2, killed $x11
frame-destroy CFI_INSTRUCTION def_cfa_offset 0
PseudoRET implicit $x10
# End machine code for function f2.
*** Bad machine code: Using an undefined physical register ***
- function: f2
...
```
</details>
https://github.com/llvm/llvm-project/pull/117612
More information about the llvm-commits
mailing list