[Bug ipa/124128] [16 Regression] ICE in intersect, at value-range.cc:2043 on s390x-linux-gnu

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 30 10:38:14 GMT 2026


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jamborm at gcc dot gnu.org

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Matthias Klose from comment #0)
> seen on trunk 20260210 on s390x-linux-gnu, building the openblas package
> with LTO:
> 
> during IPA pass: cp
> lto1: internal compiler error: in intersect, at value-range.cc:2043
> 0x17fc4a1 internal_error(char const*, ...)
> 	../../src/gcc/diagnostic-global-context.cc:787
> 0x17fc58b fancy_abort(char const*, int, char const*)
> 	../../src/gcc/diagnostics/context.cc:1812
> 0x199cb4b irange::intersect(vrange const&)
> 	../../src/gcc/value-range.cc:2043
> 0x26e887d ipa_vr_intersect_with_arith_jfunc
> 	../../src/gcc/ipa-cp.cc:1823
> 0x1dad401 propagate_vr_across_jump_function
> 	../../src/gcc/ipa-cp.cc:2699
> 0x1bff71b propagate_constants_across_call
> 	../../src/gcc/ipa-cp.cc:3137
> 0x2697153 propagate_constants_topo
> 	../../src/gcc/ipa-cp.cc:3996
> 0x2697153 ipcp_propagate_stage
> 	../../src/gcc/ipa-cp.cc:4114
> 0x2697153 ipcp_driver
> 	../../src/gcc/ipa-cp.cc:6751
> 0x2697153 execute
> 	../../src/gcc/ipa-cp.cc:6830
> 
> not yet looked at, full build log at
> https://launchpadlibrarian.net/847938312/buildlog_ubuntu-resolute-s390x.
> openblas_0.3.30+ds-3_BUILDING.txt.gz

It fails during building of the testsuite.  openblas build is a bit of a
mess, I'm trying to reproduce.

I'll note that

../interface/gemv.c:132:6: note: type ‘void’ should match type ‘long int’
../lapack-netlib/SRC/stgsna.f:424:30: warning: type of ‘sgemv’ does not match
original declaration [-Wlto-type-mismatch]

likely means inappropriate C (non-)prototypes like void sgemv() are used,
so at least for the C side a -std=gnu17 or so should be used.  I'll note
as well that for SUSE packages we're not building tests with -flto to
speedup build by using LDFLAGS_TESTS=-fno-lto (not sure if that works?).

I can reproduce with downloading OpenBLAS-0.3.30 and then

make NO_LAPACKE=1 NO_AFFINITY=1 NO_WARMUP=1 CFLAGS="-Wdate-time
-D_FORTIFY_SOURCE=3 -g -O2 -Werror=implicit-function-declaration -mbackchain
-flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat
-Werror=format-security -fno-stack-clash-protection" FFLAGS="-g -O2 -mbackchain
-flto=auto -ffat-lto-objects -fstack-protector-strong
-fno-stack-clash-protection" COMMON_OPT= MAKE_NB_JOBS=8 NUM_THREADS=128
DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 TARGET=GENERIC CC=gcc FC=gfortran

on current trunk.


More information about the Gcc-bugs mailing list