[clang] [llvm] [BPF] introduce `__attribute__((bpf_fastcall))` (PR #101228)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 19 12:24:20 PDT 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/3736

Here is the relevant piece of the build log for the reference:
```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/BPF/bpf-fastcall-3.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 1: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O2 --march=bpfel /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/BPF/bpf-fastcall-3.ll -o - | /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/BPF/bpf-fastcall-3.ll
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O2 --march=bpfel /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/BPF/bpf-fastcall-3.ll -o -
+ /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/BPF/bpf-fastcall-3.ll

# After BPF PreEmit Peephole Optimization
# Machine code for function foo: NoPHIs, TracksLiveness, NoVRegs, TiedOpsRewritten, TracksDebugUserValues
Frame Objects:
  fi#-4: size=8, align=8, fixed, at location [SP-24]
  fi#-3: size=8, align=8, fixed, at location [SP-16]
  fi#-2: size=8, align=8, fixed, at location [SP-24]
  fi#-1: size=8, align=8, fixed, at location [SP-16]
  fi#0: size=8, align=8, at location [SP-8]
Function Live Ins: $r1, $r2

bb.0.entry:
  liveins: $r1, $r2
  $r3 = MOV_rr $r1
  STD $r2, $r10, -16, 0
  STD $r3, $r10, -24, 0
  JAL @bar, <regmask $r0 $r2 $r3 $r4 $r5 $r6 $r7 $r8 $r9 $r10 $w0 $w2 $w3 $w4 $w5 $w6 $w7 $w8 $w9 $w10>, implicit $r11, implicit $r1, implicit-def $r11
  LDD $r3, $r10, -24, 0
  LDD $r2, $r10, -16, 0
  $r1 = MOV_rr $r3
  STD $r2, $r10, -16, 0
  STD $r3, $r10, -24, 0
  JAL @bar, <regmask $r0 $r2 $r3 $r4 $r5 $r6 $r7 $r8 $r9 $r10 $w0 $w2 $w3 $w4 $w5 $w6 $w7 $w8 $w9 $w10>, implicit $r11, implicit $r1, implicit-def $r11
  LDD $r3, $r10, -24, 0
  LDD $r2, $r10, -16, 0
  $r1 = MOV_rr killed $r3
  JAL @buz, <regmask $r6 $r7 $r8 $r9 $r10 $w6 $w7 $w8 $w9 $w10>, implicit $r11, implicit $r1, implicit $r2, implicit-def $r11
  $r1 = MOV_rr $r10
  $r1 = ADD_ri $r1(tied-def 0), -8
  JAL @quux, <regmask $r6 $r7 $r8 $r9 $r10 $w6 $w7 $w8 $w9 $w10>, implicit $r11, implicit $r1, implicit-def $r11
  RET

# End machine code for function foo.

*** Bad machine code: Extra explicit operand on non-variadic instruction ***
- function:    foo
- basic block: %bb.0 entry (0x9a5ced8)
- instruction: STD $r2, $r10, -16, 0
- operand 3:   0

*** Bad machine code: Extra explicit operand on non-variadic instruction ***
- function:    foo
...

```

https://github.com/llvm/llvm-project/pull/101228


More information about the cfe-commits mailing list