GCC Compiler Testsuite Status Analysis For Commit Fb9e54393dc12f3d87abad454651262061736e9c
This document provides a comprehensive analysis of the testsuite status for the GCC compiler, specifically focusing on the commit hash fb9e54393dc12f3d87abad454651262061736e9c
. The analysis covers new failures, resolved failures, and unresolved failures across various architectures and configurations. Understanding the testsuite status is crucial for maintaining the stability and reliability of the GCC compiler, which is a cornerstone of many software development ecosystems. This report aims to provide a clear and detailed overview of the current state, aiding developers in identifying and addressing potential issues.
Summary
The following table summarizes the new failures observed in the testsuite for the specified commit hash. It breaks down the failures by architecture, compiler (gcc, g++, gfortran), and provides a link to the previous hash for comparison.
New Failures | gcc | g++ | gfortran | Previous Hash |
---|---|---|---|---|
linux: RVA23U64 profile lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32 Bitmanip ilp32d medlow | 1/1 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32gc ilp32d medlow | 1/1 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32gcv ilp32d medlow multilib | 1/1 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64 Bitmanip lp64d medlow | 1/1 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64 Vector Crypto lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64gc lp64d medlow | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64gcv lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: RVA23U64 profile lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32 Bitmanip ilp32d medlow | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32gc ilp32d medlow | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32gcv ilp32d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imac ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imac_zba_zbb_zbc_zbs ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zba_zbb_zbc_zbs ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zba_zbb_zbc_zbs_zicsr_zifencei ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zicsr_zifencei ilp32 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64 Bitmanip lp64d medlow | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64 Vector Crypto lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64gc lp64d medlow | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64gcv lp64d medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imac lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imac_zba_zbb_zbc_zbs lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zba_zbb_zbc_zbs lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zba_zbb_zbc_zbs_zicsr_zifencei lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zicsr_zifencei lp64 medlow multilib | 0/0 | 4/2 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
This table provides a concise view of the new failures introduced by the commit. Notably, the g++ compiler shows multiple failures across various configurations, warranting further investigation. The links to the previous hash allow for a direct comparison to identify the exact changes that might have introduced these failures.
Resolved Failures
In contrast to the new failures, some previously failing tests have been resolved. The following table highlights these resolved failures:
Resolved Failures | gcc | g++ | gfortran | Previous Hash |
---|---|---|---|---|
linux: rv32gc ilp32d medlow | 1/1 | 0/0 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32gcv ilp32d medlow multilib | 1/1 | 0/0 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64 Bitmanip lp64d medlow | 1/1 | 0/0 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64gc lp64d medlow | 1/1 | 0/0 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
The resolved failures indicate improvements in the compiler's functionality. Specifically, the gcc compiler has resolved failures across several RISC-V architectures, which is a positive sign. This table helps track the progress in bug fixes and optimizations.
Unresolved Failures
Despite the resolved failures, a significant number of tests remain unresolved. The following table provides an overview of these unresolved failures:
Unresolved Failures | gcc | g++ | gfortran | Previous Hash |
---|---|---|---|---|
linux: RVA23U64 profile lp64d medlow multilib | 183/74 | 31/11 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32 Bitmanip ilp32d medlow | 109/33 | 23/8 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32gc ilp32d medlow | 109/33 | 23/8 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv32gcv ilp32d medlow multilib | 212/79 | 31/11 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64 Bitmanip lp64d medlow | 92/25 | 23/8 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64 Vector Crypto lp64d medlow multilib | 233/110 | 31/11 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64gc lp64d medlow | 92/25 | 23/8 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
linux: rv64gcv lp64d medlow multilib | 181/72 | 31/11 | 12/2 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: RVA23U64 profile lp64d medlow multilib | 201/73 | 31/11 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32 Bitmanip ilp32d medlow | 313/72 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32gc ilp32d medlow | 130/35 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32gcv ilp32d medlow multilib | 413/115 | 31/11 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imac ilp32 medlow multilib | 138/37 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imac_zba_zbb_zbc_zbs ilp32 medlow multilib | 314/73 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc ilp32 medlow multilib | 138/37 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zba_zbb_zbc_zbs ilp32 medlow multilib | 314/73 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zba_zbb_zbc_zbs_zicsr_zifencei ilp32 medlow multilib | 314/73 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv32imc_zicsr_zifencei ilp32 medlow multilib | 138/37 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64 Bitmanip lp64d medlow | 113/27 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64 Vector Crypto lp64d medlow multilib | 251/109 | 31/11 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64gc lp64d medlow | 113/27 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64gcv lp64d medlow multilib | 199/71 | 31/11 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imac lp64 medlow multilib | 114/28 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imac_zba_zbb_zbc_zbs lp64 medlow multilib | 307/67 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc lp64 medlow multilib | 114/28 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zba_zbb_zbc_zbs lp64 medlow multilib | 307/67 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zba_zbb_zbc_zbs_zicsr_zifencei lp64 medlow multilib | 307/67 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
newlib: rv64imc_zicsr_zifencei lp64 medlow multilib | 114/28 | 23/8 | 0/0 | 11518c841dda4d417573e41ded69bd1469ad6d1f |
This table paints a concerning picture, with a significant number of unresolved failures across various architectures and configurations. The newlib configurations, in particular, show a high number of unresolved issues, which may require immediate attention. The numbers indicate the extent of the challenges in maintaining a stable compiler.
New Failures Across All Affected Targets (28 targets / 28 total targets)
An overview of the new failures across all affected targets provides a consolidated view of the issues introduced by the commit. This section delves into the specific failures that have emerged, helping developers pinpoint the problematic areas in the codebase.
FAIL: g++.dg/modules/class-11_a.H -std=c++14 (test for excess errors)
FAIL: g++.dg/modules/class-11_a.H module-cmi (gcm.cache/$srcdir/g++.dg/modules/class-11_a.H.gcm)
FAIL: g++.dg/modules/class-11_b.C -std=c++14 (test for warnings, line 10)
FAIL: g++.dg/modules/class-11_b.C -std=c++14 (test for excess errors)
These failures predominantly affect the g++ compiler, specifically related to modules and class structures. The error messages suggest potential issues with module compilation and warning handling. Addressing these failures is crucial for ensuring the robustness of the C++ compiler.
Architecture Specific New Failures
To further dissect the failures, it's essential to look at architecture-specific issues. The following sections highlight architecture-specific new failures, which can be critical in understanding the impact of the commit on different platforms.
Linux rv32gcv ilp32d medlow multilib
FAIL: gcc.dg/vect/slp-multitypes-4.c (test for excess errors)
This failure points to an issue with vectorization in the gcc compiler for the RISC-V rv32gcv architecture. The error suggests potential problems with handling multiple data types in vector operations, which needs to be addressed to ensure optimal performance on this architecture.
Linux rv32gc ilp32d medlow
FAIL: gcc.target/riscv/interrupt-3.c -O0 (test for excess errors)
This failure indicates a problem with interrupt handling in the gcc compiler for the RISC-V rv32gc architecture. The error occurs at optimization level O0, suggesting a fundamental issue in the interrupt handling mechanism. This is a critical failure that needs immediate attention to ensure proper system behavior.
Linux rv64 Bitmanip lp64d medlow
FAIL: gcc.target/riscv/interrupt-3.c -O0 (test for excess errors)
This failure mirrors the interrupt handling issue seen in the rv32gc architecture, but this time it's affecting the rv64 Bitmanip configuration. This consistent failure across different architectures suggests a systemic problem in the interrupt handling code, requiring a comprehensive fix.
Linux rv32gc_zba_zbb_zbc_zbs ilp32d medlow
FAIL: gcc.target/riscv/sat/sat_u_sub-run-6-u32.c -O3 (test for excess errors)
This failure is specific to the RISC-V rv32gc_zba_zbb_zbc_zbs architecture and relates to saturation arithmetic. The error occurs at optimization level O3, suggesting a potential issue with the optimization of saturation subtraction operations. This failure needs to be addressed to ensure the correct behavior of arithmetic operations on this architecture.
Architecture Specific Resolved Failures
It's also important to acknowledge the architecture-specific resolved failures, as they highlight the progress made in fixing bugs and improving the compiler's performance. These resolved failures demonstrate the ongoing efforts to enhance the compiler's reliability.
Linux rv32gcv ilp32d medlow multilib
FAIL: gcc.dg/vect/vect-cond-3.c (test for excess errors)
This resolved failure indicates an improvement in vector conditional operations for the RISC-V rv32gcv architecture. Fixing this issue enhances the compiler's ability to generate efficient vectorized code, leading to performance improvements.
Linux rv32gc ilp32d medlow
FAIL: gcc.target/riscv/sat/sat_u_trunc-run-1-u8.c -O3 (test for excess errors)
This resolved failure points to an improvement in handling saturation truncation operations for the RISC-V rv32gc architecture. The fix ensures the correct behavior of these operations, contributing to the overall stability of the compiler.
Linux rv64 Bitmanip lp64d medlow
FAIL: gcc.target/riscv/sat/sat_u_sub-10-u8.c -O2 (test for excess errors)
This resolved failure highlights an improvement in saturation subtraction operations for the RISC-V rv64 Bitmanip architecture. The fix enhances the reliability of arithmetic operations on this architecture, ensuring correct results.
Linux rv64gc lp64d medlow
FAIL: gcc.target/riscv/xtheadfmv.c -O0 (test for excess errors)
This resolved failure indicates a fix in the handling of floating-point move operations for the RISC-V rv64gc architecture. The fix ensures the correct execution of floating-point code, which is crucial for scientific and engineering applications.
Associated Run
The associated run for this testsuite status is: https://github.com/patrick-rivos/gcc-postcommit-ci/actions/runs/16546174665. This link provides access to the detailed logs and reports for the test run, offering further insights into the failures and resolutions discussed in this document.
Conclusion
In conclusion, the testsuite status analysis for commit hash fb9e54393dc12f3d87abad454651262061736e9c
reveals a mixed picture. While some failures have been resolved, a significant number of tests continue to fail, particularly in the g++ compiler and newlib configurations. Architecture-specific failures, such as those related to interrupt handling and vectorization, require targeted attention. Addressing these issues is crucial for maintaining the stability and performance of the GCC compiler across various platforms. The associated run link provides valuable resources for further investigation and debugging.