Hi there!
These are legitimate regressions: the code compiled to bogus BIND(C) ABI that only worked when using with Fortran to Fortran. A TODO is now correctly emitted until the proper ABI is implemented.
In Fujitsu-Fortran-0379_0074
``` function strfunc() bind(C) type,bind(C) :: str integer :: iii end type type(str) :: strfunc end function end interface type,bind(C) :: str integer :: iii end type ````
Previously, the result was passed in as a hidden extra argument, like it is done in normal Fortran ABI. On ARM, the equivalent C code is returned in registered as far as I can see: https://godbolt.org/z/nec6jbhYM
0384_0028.f90 also has BIND(C) function returning such BIND(C) types.
So, both tests should not be run on ARM, or should expect a TODO error message until the feature is implemented on ARM.
Jean
-----Original Message----- From: ci_notify@linaro.org ci_notify@linaro.org Sent: Monday, October 14, 2024 11:23 PM To: ohno.yasuyuki@fujitsu.com; itou.tetsuya@fujitsu.com; t-kawashima@fujitsu.com Cc: maxim.kuvyrkov@linaro.org; Jean Perier jperier@nvidia.com Subject: [Linaro-TCWG-CI] llvmorg-20-init-8878-g367c3c968eb8: FAIL: 2 regressions on aarch64
External email: Use caution opening links or attachments
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We understand that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/LLVM-1398 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_flang_test/main-aarch64-Ofast-sve_vls-lto-lld after:
| commit llvmorg-20-init-8878-g367c3c968eb8 | Author: jeanPerier jperier@nvidia.com | Date: Mon Oct 14 09:35:29 2024 +0200 | | [flang] correctly deal with bind(c) derived type result ABI (#111969) | | Derived type results of BIND(C) function should be returned according | the the C ABI for returning the related C struct type. | | ... 15 lines of the commit log omitted.
FAIL: 2 regressions The configuration of this build is: * Toolchain : cmake -G Ninja ../llvm/llvm "-DLLVM_ENABLE_PROJECTS=clang;lld;flang;openmp;clang-tools-extra" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install "-DLLVM_TARGETS_TO_BUILD=AArch64" -DCLANG_DEFAULT_LINKER=lld * Testsuite : cmake -GNinja -DCMAKE_C_COMPILER="$WORKSPACE/llvm-install/bin/clang" -DCMAKE_CXX_COMPILER="$WORKSPACE/llvm-install/bin/clang++" -DCMAKE_Fortran_COMPILER="$WORKSPACE/llvm-install/bin/flang-new" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_Fortran_FLAGS= -DCMAKE_C_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DTEST_SUITE_FORTRAN=ON -DTEST_SUITE_SUBDIRS=Fujitsu "$WORKSPACE/test/test-suite"
regressions.sum: | === test-suite tests === | | Running test-suite:Fujitsu/Fortran/0379 ... | NOEXE: test-suite :: Fujitsu/Fortran/0379/Fujitsu-Fortran-0379_0074.test | | Running test-suite:Fujitsu/Fortran/0384 ... | NOEXE: test-suite :: Fujitsu/Fortran/0384/Fujitsu-Fortran-0384_0028.test | | # "NOEXE" means : the test program cannot be compiled
You can find the failure logs in *.log.1.xz files in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The full lists of regressions and improvements as well as configure and make commands are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The list of [ignored] baseline and flaky failures are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... Reference build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
Fujitsu testsuite : https://github.com/fujitsu/compiler-test-suite/
Instruction to reproduce the build : https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sh...
Full commit : https://github.com/llvm/llvm-project/commit/367c3c968eb8f29b55fb8019b2464c7f...
Thanks, Jean for bringing this to our attention. David Truby is working on adding support on Aarch64 and we expect it to land before LLVM20.
--Kiran ________________________________ From: Jean Perier jperier@nvidia.com Sent: 15 October 2024 09:25 To: linaro-toolchain@lists.linaro.org linaro-toolchain@lists.linaro.org; ohno.yasuyuki@fujitsu.com ohno.yasuyuki@fujitsu.com; itou.tetsuya@fujitsu.com itou.tetsuya@fujitsu.com; t-kawashima@fujitsu.com t-kawashima@fujitsu.com Cc: maxim.kuvyrkov@linaro.org maxim.kuvyrkov@linaro.org; Kiran Chandramohan Kiran.Chandramohan@arm.com Subject: RE: [Linaro-TCWG-CI] llvmorg-20-init-8878-g367c3c968eb8: FAIL: 2 regressions on aarch64
Hi there!
These are legitimate regressions: the code compiled to bogus BIND(C) ABI that only worked when using with Fortran to Fortran. A TODO is now correctly emitted until the proper ABI is implemented.
In Fujitsu-Fortran-0379_0074
``` function strfunc() bind(C) type,bind(C) :: str integer :: iii end type type(str) :: strfunc end function end interface type,bind(C) :: str integer :: iii end type ````
Previously, the result was passed in as a hidden extra argument, like it is done in normal Fortran ABI. On ARM, the equivalent C code is returned in registered as far as I can see: https://godbolt.org/z/nec6jbhYM
0384_0028.f90 also has BIND(C) function returning such BIND(C) types.
So, both tests should not be run on ARM, or should expect a TODO error message until the feature is implemented on ARM.
Jean
-----Original Message----- From: ci_notify@linaro.org ci_notify@linaro.org Sent: Monday, October 14, 2024 11:23 PM To: ohno.yasuyuki@fujitsu.com; itou.tetsuya@fujitsu.com; t-kawashima@fujitsu.com Cc: maxim.kuvyrkov@linaro.org; Jean Perier jperier@nvidia.com Subject: [Linaro-TCWG-CI] llvmorg-20-init-8878-g367c3c968eb8: FAIL: 2 regressions on aarch64
External email: Use caution opening links or attachments
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We understand that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/LLVM-1398 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_flang_test/main-aarch64-Ofast-sve_vls-lto-lld after:
| commit llvmorg-20-init-8878-g367c3c968eb8 | Author: jeanPerier jperier@nvidia.com | Date: Mon Oct 14 09:35:29 2024 +0200 | | [flang] correctly deal with bind(c) derived type result ABI (#111969) | | Derived type results of BIND(C) function should be returned according | the the C ABI for returning the related C struct type. | | ... 15 lines of the commit log omitted.
FAIL: 2 regressions The configuration of this build is: * Toolchain : cmake -G Ninja ../llvm/llvm "-DLLVM_ENABLE_PROJECTS=clang;lld;flang;openmp;clang-tools-extra" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install "-DLLVM_TARGETS_TO_BUILD=AArch64" -DCLANG_DEFAULT_LINKER=lld * Testsuite : cmake -GNinja -DCMAKE_C_COMPILER="$WORKSPACE/llvm-install/bin/clang" -DCMAKE_CXX_COMPILER="$WORKSPACE/llvm-install/bin/clang++" -DCMAKE_Fortran_COMPILER="$WORKSPACE/llvm-install/bin/flang-new" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_Fortran_FLAGS= -DCMAKE_C_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DTEST_SUITE_FORTRAN=ON -DTEST_SUITE_SUBDIRS=Fujitsu "$WORKSPACE/test/test-suite"
regressions.sum: | === test-suite tests === | | Running test-suite:Fujitsu/Fortran/0379 ... | NOEXE: test-suite :: Fujitsu/Fortran/0379/Fujitsu-Fortran-0379_0074.test | | Running test-suite:Fujitsu/Fortran/0384 ... | NOEXE: test-suite :: Fujitsu/Fortran/0384/Fujitsu-Fortran-0384_0028.test | | # "NOEXE" means : the test program cannot be compiled
You can find the failure logs in *.log.1.xz files in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The full lists of regressions and improvements as well as configure and make commands are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The list of [ignored] baseline and flaky failures are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... Reference build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
Fujitsu testsuite : https://github.com/fujitsu/compiler-test-suite/
Instruction to reproduce the build : https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sh...
Full commit : https://github.com/llvm/llvm-project/commit/367c3c968eb8f29b55fb8019b2464c7f... IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Hi,
Thanks for your explanation! I closed the issue. https://linaro.atlassian.net/browse/LLVM-1398
Takahiro Kawashima, Fujitsu
Hi there!
These are legitimate regressions: the code compiled to bogus BIND(C) ABI that only worked when using with Fortran to Fortran. A TODO is now correctly emitted until the proper ABI is implemented.
In Fujitsu-Fortran-0379_0074
function strfunc() bind(C) type,bind(C) :: str integer :: iii end type type(str) :: strfunc end function end interface type,bind(C) :: str integer :: iii end type
Previously, the result was passed in as a hidden extra argument, like it is done in normal Fortran ABI. On ARM, the equivalent C code is returned in registered as far as I can see: https://godbolt.org/z/nec6jbhYM
0384_0028.f90 also has BIND(C) function returning such BIND(C) types.
So, both tests should not be run on ARM, or should expect a TODO error message until the feature is implemented on ARM.
Jean
-----Original Message----- From: ci_notify@linaro.org ci_notify@linaro.org Sent: Monday, October 14, 2024 11:23 PM To: ohno.yasuyuki@fujitsu.com; itou.tetsuya@fujitsu.com; t-kawashima@fujitsu.com Cc: maxim.kuvyrkov@linaro.org; Jean Perier jperier@nvidia.com Subject: [Linaro-TCWG-CI] llvmorg-20-init-8878-g367c3c968eb8: FAIL: 2 regressions on aarch64
External email: Use caution opening links or attachments
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We understand that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/LLVM-1398 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_flang_test/main-aarch64-Ofast-sve_vls-lto-lld after:
| commit llvmorg-20-init-8878-g367c3c968eb8 | Author: jeanPerier jperier@nvidia.com | Date: Mon Oct 14 09:35:29 2024 +0200 | | [flang] correctly deal with bind(c) derived type result ABI (#111969) | | Derived type results of BIND(C) function should be returned according | the the C ABI for returning the related C struct type. | | ... 15 lines of the commit log omitted.
FAIL: 2 regressions The configuration of this build is:
- Toolchain : cmake -G Ninja ../llvm/llvm "-DLLVM_ENABLE_PROJECTS=clang;lld;flang;openmp;clang-tools-extra" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install "-DLLVM_TARGETS_TO_BUILD=AArch64" -DCLANG_DEFAULT_LINKER=lld
- Testsuite : cmake -GNinja -DCMAKE_C_COMPILER="$WORKSPACE/llvm-install/bin/clang" -DCMAKE_CXX_COMPILER="$WORKSPACE/llvm-install/bin/clang++" -DCMAKE_Fortran_COMPILER="$WORKSPACE/llvm-install/bin/flang-new" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_Fortran_FLAGS= -DCMAKE_C_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DTEST_SUITE_FORTRAN=ON -DTEST_SUITE_SUBDIRS=Fujitsu "$WORKSPACE/test/test-suite"
regressions.sum: | === test-suite tests === | | Running test-suite:Fujitsu/Fortran/0379 ... | NOEXE: test-suite :: Fujitsu/Fortran/0379/Fujitsu-Fortran-0379_0074.test | | Running test-suite:Fujitsu/Fortran/0384 ... | NOEXE: test-suite :: Fujitsu/Fortran/0384/Fujitsu-Fortran-0384_0028.test | | # "NOEXE" means : the test program cannot be compiled
You can find the failure logs in *.log.1.xz files in
The full lists of regressions and improvements as well as configure and make commands are in
The list of [ignored] baseline and flaky failures are in
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... Reference build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
Fujitsu testsuite : https://github.com/fujitsu/compiler-test-suite/
Instruction to reproduce the build : https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sh...
Full commit : https://github.com/llvm/llvm-project/commit/367c3c968eb8f29b55fb8019b2464c7f...
linaro-toolchain@lists.linaro.org