[Bug target/93583] [10 Regression] bootstrap failure on powerpc64le-linux-gnu
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Mon Feb 17 10:35:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93583
--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 17 Feb 2020, marxin at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93583
>
> --- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
> (In reply to Segher Boessenkool from comment #4)
> > The line where things crash is
> > rtx temp = gen_reg_rtx (GET_MODE (valreg));
> > but presumably valreg is just 0 here?
>
> Yes:
>
> (gdb) p valreg
> $1 = (rtx_def *) 0x0
>
> (gdb) p debug_gimple_stmt(stmt)
> # .MEM_49 = VDEF <_45>
> describe_cache.constprop.isra (l1_sizekb_36, l1_line_37);
So from the context of the crash kind-of an obvious fix would be
diff --git a/gcc/calls.c b/gcc/calls.c
index d1c53171176..b5ccfaced37 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -4667,7 +4667,7 @@ expand_call (tree exp, rtx target, int ignore)
valreg = gen_rtx_REG (TYPE_MODE (rettype), REGNO (valreg));
}
- if (pass && (flags & ECF_MALLOC))
+ if (pass && (flags & ECF_MALLOC) && valreg)
{
rtx temp = gen_reg_rtx (GET_MODE (valreg));
rtx_insn *last, *insns;
since there is no use of the return value so any fumbling with
it for ECF_MALLOC is pointless. Correspoinding code
handling ERF_RETURNS_ARG checks for a NULL valreg already.
> One can debug that on gcc112 compile farm machine:
>
> $ /home/marxin/Programming/gcc/objdir/./prev-gcc/lto1 /tmp/ice.ltrans1.o
> -fltrans -quiet
> during RTL pass: expand
> ../../gcc/config/rs6000/driver-rs6000.c: In function ‘host_detect_local_cpu’:
> ../../gcc/config/rs6000/driver-rs6000.c:338:25: internal compiler error:
> Segmentation fault
> 338 | return describe_cache (l1_sizekb, l1_line, l1_assoc, l2_sizekb);
> | ^
> 0x109138f3 crash_signal
> ../../gcc/toplev.c:328
> 0x102468b0 expand_call(tree_node*, rtx_def*, int)
> ../../gcc/calls.c:4672
> 0x1040d527 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
> expand_modifier, rtx_def**, bool)
> ../../gcc/expr.c:11130
> 0x10260097 expand_expr
> ../../gcc/expr.h:282
> 0x10260097 expand_call_stmt
> ../../gcc/cfgexpand.c:2703
> 0x10260097 expand_gimple_stmt_1
> ../../gcc/cfgexpand.c:3682
> 0x10260097 expand_gimple_stmt
> ../../gcc/cfgexpand.c:3847
> 0x102673d3 expand_gimple_basic_block
> ../../gcc/cfgexpand.c:5887
> 0x10269f07 execute
> ../../gcc/cfgexpand.c:6542
> Please submit a full bug report,
> with preprocessed source if appropriate.
> Please include the complete backtrace with any bug report.
> See <https://gcc.gnu.org/bugs/> for instructions.
>
>
More information about the Gcc-bugs
mailing list