public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/111074] New: RISC-V: segmentation fault during RTL pass: vsetvl
@ 2023-08-19 12:09 maksim.shabunin at gmail dot com
  2023-08-22  7:23 ` [Bug target/111074] " cvs-commit at gcc dot gnu.org
  2023-09-07 10:32 ` kito at gcc dot gnu.org
  0 siblings, 2 replies; 3+ messages in thread
From: maksim.shabunin at gmail dot com @ 2023-08-19 12:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111074

            Bug ID: 111074
           Summary: RISC-V: segmentation fault during RTL pass: vsetvl
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: maksim.shabunin at gmail dot com
  Target Milestone: ---

Created attachment 55764
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55764&action=edit
Preprocessed source file

We are experiencing issues when building the OpenCV library for RISC-V with RVV
support:

    /work/chains/riscv-gcc-13.2.1/bin/riscv64-unknown-linux-gnu-g++
--sysroot=/work/chains/riscv-gcc-13.2.1/sysroot -D_USE_MATH_DEFINES
-D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -I/work/opencv/modules/imgproc/include
-I/work/build-opencv-rvv/modules/imgproc -I/work/opencv/modules/core/include
-isystem /work/build-opencv-rvv -march=rv64gc  -fmax-errors=1 -Wfatal-errors
-fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress
-Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef
-Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized
-Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment
-Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option
-pthread -fomit-frame-pointer -ffunction-sections -fdata-sections 
-march=rv64gcv1p0 -DCV_RVV_SCALABLE -fvisibility=hidden
-fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG -fPIC -std=c++11 -MD -MT
modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/box_filter.dispatch.cpp.o -MF
modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/box_filter.dispatch.cpp.o.d
-o modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/box_filter.dispatch.cpp.o
-c /work/opencv/modules/imgproc/src/box_filter.dispatch.cpp -freport-bug
    during RTL pass: vsetvl
    In file included from
/work/opencv/modules/imgproc/src/box_filter.dispatch.cpp:53:
    /work/opencv/modules/imgproc/src/box_filter.simd.hpp: In member function
'virtual void cv::cpu_baseline::{anonymous}::ColumnSum<int,
float>::operator()(const cv::hal_baseline::uchar**, cv::hal_baseline::uchar*,
int, int, int)':
    /work/opencv/modules/imgproc/src/box_filter.simd.hpp:1162:5: internal
compiler error: Segmentation fault
     1162 |     }
          |     ^
    0xe038c3 crash_signal
        ../.././gcc/gcc/toplev.cc:314
    0x7fb2b9e4251f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
    0x6bdea2 hash_set<rtl_ssa::set_info*, false,
default_hash_traits<rtl_ssa::set_info*> >::iterator::operator*()
        ../.././gcc/gcc/hash-set.h:125
    0x6bdea2 extract_single_source
        ../.././gcc/gcc/config/riscv/riscv-vsetvl.cc:1186
    0x6bdea2 extract_single_source
        ../.././gcc/gcc/config/riscv/riscv-vsetvl.cc:1176
    0x119ae7e pass_vsetvl::propagate_avl() const
        ../.././gcc/gcc/config/riscv/riscv-vsetvl.cc:4089
    0x119cf8f pass_vsetvl::execute(function*)
        ../.././gcc/gcc/config/riscv/riscv-vsetvl.cc:4346
    0x119cf8f pass_vsetvl::execute(function*)
        ../.././gcc/gcc/config/riscv/riscv-vsetvl.cc:4327
    Please submit a full bug report, with preprocessed source.
    Please include the complete backtrace with any bug report.
    See <https://gcc.gnu.org/bugs/> for instructions.
    The bug is not reproducible, so it is likely a hardware or OS problem.


* Compiler version is:
    riscv64-unknown-linux-gnu-g++ (g91a5bdf2941) 13.2.1 20230818
* Issue does not reproduce with -fwrapv option.
* Preprocessed file is in the attachment (compressed), problematic loop starts
at line 86506.

We did not manage to make minimal reproducer, but we've been able to avoid it
by disabling one RVV-optimized block in our code (CV_SIMD_SCALABLE is enabled
for RVV), it does not look very different from other optimized blocks in this
or other files:
https://github.com/opencv/opencv/pull/24166/commits/8ab6c22e9a04f84cf1bf65e17c72f05e0b2b0825

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug target/111074] RISC-V: segmentation fault during RTL pass: vsetvl
  2023-08-19 12:09 [Bug rtl-optimization/111074] New: RISC-V: segmentation fault during RTL pass: vsetvl maksim.shabunin at gmail dot com
@ 2023-08-22  7:23 ` cvs-commit at gcc dot gnu.org
  2023-09-07 10:32 ` kito at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-08-22  7:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111074

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Li Xu <xuli@gcc.gnu.org>:

https://gcc.gnu.org/g:93c4226585cc53fd86dfa3ca2d70d5b417d960b3

commit r13-7738-g93c4226585cc53fd86dfa3ca2d70d5b417d960b3
Author: xuli <xuli1@eswincomputing.com>
Date:   Tue Aug 22 06:21:00 2023 +0000

    RISCV: Fix PR111074 [GCC13 BUG]

    his patch fixes this issue happens on GCC-13.
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111074

    This patch should be backported to GCC-13.
    GCC-14 has rewritten propagate_avl function, so there is no issue.

    PR target/111074

    gcc/ChangeLog:

            * config/riscv/riscv-vsetvl.cc (extract_single_source): Fix bug.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug target/111074] RISC-V: segmentation fault during RTL pass: vsetvl
  2023-08-19 12:09 [Bug rtl-optimization/111074] New: RISC-V: segmentation fault during RTL pass: vsetvl maksim.shabunin at gmail dot com
  2023-08-22  7:23 ` [Bug target/111074] " cvs-commit at gcc dot gnu.org
@ 2023-09-07 10:32 ` kito at gcc dot gnu.org
  1 sibling, 0 replies; 3+ messages in thread
From: kito at gcc dot gnu.org @ 2023-09-07 10:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111074

Kito Cheng <kito at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |kito at gcc dot gnu.org

--- Comment #2 from Kito Cheng <kito at gcc dot gnu.org> ---
Fixed

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-07 10:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-19 12:09 [Bug rtl-optimization/111074] New: RISC-V: segmentation fault during RTL pass: vsetvl maksim.shabunin at gmail dot com
2023-08-22  7:23 ` [Bug target/111074] " cvs-commit at gcc dot gnu.org
2023-09-07 10:32 ` kito at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).