https://github.com/andykaylor approved this pull request.

I think this meets the criteria we previously discussed. The code looks good to 
me, but there are a few things we'll need to fix with follow-up changes.

The llvm-test-suite tests are still fully passing with the latest update with 
the LLVM ABI library unconditionally enabled for the calling conventions and 
targets it supports.

I'm still seeing failures for these tests.

```
  Clang :: CodeGen/X86/avx-cxx-record.cpp
  Clang :: CodeGenCXX/ext-int-vector-abi.cpp
  Clang :: CodeGenCXX/ext-int.cpp
  Clang :: CodeGenCXX/fixed-point-mangle.cpp
  Clang :: CodeGenCXX/matrix-vector-bit-int.cpp
```

Here's a selection of snippets from the test output:
```
********************
FAIL: Clang :: CodeGenCXX/ext-int.cpp (2183 of 25589)
******************** TEST 'Clang :: CodeGenCXX/ext-int.cpp' FAILED *************
*******
Exit Code: 1
<snip>
# executed command: /local/home/akaylor/akaylor-llvm/llvm-project/build-release/
bin/FileCheck /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCX
X/ext-int.cpp --check-prefixes=CHECK,LIN,LIN64,NoNewStructPathTBAA
# .---command stderr------------
# | /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCXX/ext-int.
cpp:588:12: error: LIN64: expected string not found in input
# |  // LIN64: define{{.*}} void @_Z10VectorTestDv4_DU4_S0_(i32 %{{.+}}, i32 %{{
.+}})
# |            ^
# | <stdin>:700:29: note: scanning from here
# |  %add = add <3 x i16> %1, %3
# |                             ^
# | <stdin>:705:1: note: possible intended match here
# | define dso_local void @_Z10VectorTestDv4_DU4_S0_(i16 %first.coerce, i16 %sec
ond.coerce) #0 {
# | ^
# |
<snip>
********************
FAIL: Clang :: CodeGenCXX/ext-int-vector-abi.cpp (5336 of 25589)
******************** TEST 'Clang :: CodeGenCXX/ext-int-vector-abi.cpp' FAILED **
******************
Exit Code: 1
<snip>
# executed command: /local/home/akaylor/akaylor-llvm/llvm-project/build-release/
bin/FileCheck /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCX
X/ext-int-vector-abi.cpp --check-prefixes=LIN64
# .---command stderr------------
# | /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCXX/ext-int-
vector-abi.cpp:11:11: error: LIN64: expected string not found in input
# | // LIN64: define{{.*}} i32 @_Z20ManglingTestRetParamDv3_DB8_(i32 %
# |           ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = '/local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeG
enCXX/ext-int-vector-abi.cpp'
# | ^
# | <stdin>:7:14: note: possible intended match here
# | define dso_local <3 x i8> @_Z20ManglingTestRetParamDv3_DB8_(<3 x i8> %Param)
 #0 {
# |              ^
<snip>
********************
FAIL: Clang :: CodeGen/X86/avx-cxx-record.cpp (6939 of 25589)
******************** TEST 'Clang :: CodeGen/X86/avx-cxx-record.cpp' FAILED *****
***************
Exit Code: 1
<snip>
# executed command: /local/home/akaylor/akaylor-llvm/llvm-project/build-release/
bin/FileCheck /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGen/X
86/avx-cxx-record.cpp
# .---command stderr------------
# | /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGen/X86/avx-cxx
-record.cpp:60:11: error: CHECK: expected string not found in input
# | // CHECK: define{{.*}} <4 x i64> @_Z18ymm_empty_base_retv()
# |           ^
# | <stdin>:28:80: note: scanning from here
# |  store <4 x i64> <i64 5, i64 6, i64 7, i64 8>, ptr %add.ptr, align 32, !tbaa
 !5
# |
   ^
# | <stdin>:33:1: note: possible intended match here
# | define dso_local void @_Z18ymm_empty_base_retv(ptr dead_on_unwind noalias no
free writable writeonly sret(%struct.YMMWithEmptyBase) align 32 captures(none) i
nitializes((0, 32)) %agg.result) local_unnamed_addr #0 {
# | ^
<snip>
********************
FAIL: Clang :: CodeGenCXX/matrix-vector-bit-int.cpp (24146 of 25589)
******************** TEST 'Clang :: CodeGenCXX/matrix-vector-bit-int.cpp' FAILED
 ********************
Exit Code: 1
<snip>
# executed command: /local/home/akaylor/akaylor-llvm/llvm-project/build-release/
bin/FileCheck /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCX
X/matrix-vector-bit-int.cpp
# .---command stderr------------
# | /local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCXX/matrix-v
ector-bit-int.cpp:13:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: define dso_local i32 @_Z2v1Dv3_DB8_(
# |                 ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = '/local/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeG
enCXX/matrix-vector-bit-int.cpp'
# | ^
# | <stdin>:51:1: note: possible intended match here
# | define dso_local <3 x i4> @_Z2v4Dv3_DB4_(<3 x i4> %a) #3 {
# | ^
<snip>
********************
FAIL: Clang :: CodeGenCXX/fixed-point-mangle.cpp (24231 of 25589)
******************** TEST 'Clang :: CodeGenCXX/fixed-point-mangle.cpp' FAILED **
******************
Exit Code: 2
# executed command: /local/home/akaylor/akaylor-llvm/llvm-project/build-release/
bin/clang -cc1 -internal-isystem /local/home/akaylor/akaylor-llvm/llvm-project/b
uild-release/lib/clang/23/include -nostdsysteminc -ffixed-point -emit-llvm /loca
l/home/akaylor/akaylor-llvm/llvm-project/clang/test/CodeGenCXX/fixed-point-mangl
e.cpp -o - -triple=x86_64-unknown-linux-gnu
# .---command stderr------------
# | fatal error: error in backend: Fixed Point types not yet implemented in the
ABI lowering library
# `-----------------------------
```
@nikic Are you OK with merging this PR in this state?

https://github.com/llvm/llvm-project/pull/194718
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to