public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument
@ 2024-01-10 21:19 zsojka at seznam dot cz
2024-01-11 13:05 ` [Bug tree-optimization/113316] " jakub at gcc dot gnu.org
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: zsojka at seznam dot cz @ 2024-01-10 21:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113316
Bug ID: 113316
Summary: during GIMPLE pass: bitintlower ICE: SIGSEGV in
var_to_partition (tree-ssa-live.h:163) at -O with
uninitialized _BitInt() function argument
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: zsojka at seznam dot cz
CC: jakub at gcc dot gnu.org
Target Milestone: ---
Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
Created attachment 57030
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57030&action=edit
reduced testcase
Compiler output:
$ x86_64-pc-linux-gnu-gcc -O testcase.c -wrapper valgrind,-q
==9456== Invalid read of size 8
==9456== at 0x2661471: var_to_partition (tree-ssa-live.h:163)
==9456== by 0x2661471: (anonymous
namespace)::bitint_large_huge::lower_call(tree_node*, gimple*)
(gimple-lower-bitint.cc:5120)
==9456== by 0x266BF59: gimple_lower_bitint() (gimple-lower-bitint.cc:6514)
==9456== by 0x13CA4BA: execute_one_pass(opt_pass*) (passes.cc:2646)
==9456== by 0x13CADAF: execute_pass_list_1(opt_pass*) (passes.cc:2755)
==9456== by 0x13CADC1: execute_pass_list_1(opt_pass*) (passes.cc:2756)
==9456== by 0x13CADE8: execute_pass_list(function*, opt_pass*)
(passes.cc:2766)
==9456== by 0xFCB105: expand (cgraphunit.cc:1842)
==9456== by 0xFCB105: cgraph_node::expand() (cgraphunit.cc:1795)
==9456== by 0xFCC44A: expand_all_functions (cgraphunit.cc:2025)
==9456== by 0xFCC44A: symbol_table::compile() [clone .part.0]
(cgraphunit.cc:2399)
==9456== by 0xFCEFC7: compile (cgraphunit.cc:2312)
==9456== by 0xFCEFC7: symbol_table::finalize_compilation_unit()
(cgraphunit.cc:2584)
==9456== by 0x150C3E1: compile_file() (toplev.cc:473)
==9456== by 0xDE691B: do_compile (toplev.cc:2151)
==9456== by 0xDE691B: toplev::main(int, char**) (toplev.cc:2307)
==9456== by 0xDE80FA: main (main.cc:39)
==9456== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==9456==
during GIMPLE pass: bitintlower
testcase.c: In function 'foo':
testcase.c:4:1: internal compiler error: Segmentation fault
4 | foo (void)
| ^~~
0x150beff crash_signal
/repo/gcc-trunk/gcc/toplev.cc:316
0x2661471 var_to_partition(_var_map*, tree_node*)
/repo/gcc-trunk/gcc/tree-ssa-live.h:163
0x2661471 lower_call
/repo/gcc-trunk/gcc/gimple-lower-bitint.cc:5120
0x266bf59 gimple_lower_bitint
/repo/gcc-trunk/gcc/gimple-lower-bitint.cc:6514
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/113316] during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument
2024-01-10 21:19 [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument zsojka at seznam dot cz
@ 2024-01-11 13:05 ` jakub at gcc dot gnu.org
2024-01-12 10:19 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-01-11 13:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113316
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Last reconfirmed| |2024-01-11
Ever confirmed|0 |1
Status|UNCONFIRMED |ASSIGNED
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 57042
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57042&action=edit
gcc14-pr113316.patch
Untested fix.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/113316] during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument
2024-01-10 21:19 [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument zsojka at seznam dot cz
2024-01-11 13:05 ` [Bug tree-optimization/113316] " jakub at gcc dot gnu.org
@ 2024-01-12 10:19 ` cvs-commit at gcc dot gnu.org
2024-01-12 10:27 ` jakub at gcc dot gnu.org
2024-01-20 17:08 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-12 10:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113316
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:c1680bd2df187e06089b06ffe211c4abe4c440b0
commit r14-7179-gc1680bd2df187e06089b06ffe211c4abe4c440b0
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Jan 12 11:19:08 2024 +0100
lower-bitint: Fix up handling of uninitialized large/huge _BitInt call
arguments [PR113316]
The code to assign large/huge _BitInt SSA_NAMEs to partitions intentionally
ignores uninitialized SSA_NAMEs:
/* Also ignore uninitialized uses. */
if (SSA_NAME_IS_DEFAULT_DEF (s)
&& (!SSA_NAME_VAR (s) || VAR_P (SSA_NAME_VAR (s))))
continue;
because there is no need to store them into memory, all we need is when
trying to extract some limb from them use uninitialized SSA_NAME for the
limb.
The following testcase shows this is a problem for call arguments though,
for those we need to create replacement SSA_NAMEs which are loaded from
the underlying variable. For uninitialized SSA_NAMEs because we didn't
create underlying variable for them var_to_partition doesn't work, the
following patch handles it by just creating an uninitialized replacement
SSA_NAME.
2024-01-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/113316
* gimple-lower-bitint.cc (bitint_large_huge::lower_call): Handle
uninitialized large/huge _BitInt arguments to calls.
* gcc.dg/bitint-67.c: New test.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/113316] during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument
2024-01-10 21:19 [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument zsojka at seznam dot cz
2024-01-11 13:05 ` [Bug tree-optimization/113316] " jakub at gcc dot gnu.org
2024-01-12 10:19 ` cvs-commit at gcc dot gnu.org
@ 2024-01-12 10:27 ` jakub at gcc dot gnu.org
2024-01-20 17:08 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-01-12 10:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113316
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug tree-optimization/113316] during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument
2024-01-10 21:19 [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument zsojka at seznam dot cz
` (2 preceding siblings ...)
2024-01-12 10:27 ` jakub at gcc dot gnu.org
@ 2024-01-20 17:08 ` pinskia at gcc dot gnu.org
3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-20 17:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113316
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |14.0
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-01-20 17:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-10 21:19 [Bug tree-optimization/113316] New: during GIMPLE pass: bitintlower ICE: SIGSEGV in var_to_partition (tree-ssa-live.h:163) at -O with uninitialized _BitInt() function argument zsojka at seznam dot cz
2024-01-11 13:05 ` [Bug tree-optimization/113316] " jakub at gcc dot gnu.org
2024-01-12 10:19 ` cvs-commit at gcc dot gnu.org
2024-01-12 10:27 ` jakub at gcc dot gnu.org
2024-01-20 17:08 ` pinskia 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).