This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/81869] [8 Regression] --enable-checking=yes,rtl failed to bootstrap on 32-bit hosts
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 16 Aug 2017 21:25:11 +0000
- Subject: [Bug bootstrap/81869] [8 Regression] --enable-checking=yes,rtl failed to bootstrap on 32-bit hosts
- Auto-submitted: auto-generated
- References: <bug-81869-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81869
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-08-16
Ever confirmed|0 |1
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
On 32-bit hosts, we get a huge number of basic blocks:
Breakpoint 7, (anonymous namespace)::pass_cprop_hardreg::execute (
this=0x30f8fd0, fun=0xd346b3a8)
at /export/gnu/import/git/sources/gcc/gcc/regcprop.c:1272
1272 all_vd = XNEWVEC (struct value_data, last_basic_block_for_fn (fun));
$9 = 43050
(gdb) p cfun->cfg->x_last_basic_block
$10 = 43050
(gdb) call debug_tree (cfun->decl)
<function_decl 0xd344c618 insn_extract
type <function_type 0xd335a1e0
type <void_type 0xf7f7f900 void type_6 VOID
align:8 symtab:0 alias-set -1 canonical-type 0xf7f7f900
pointer_to_this <pointer_type 0xf7f7f9c0>>
QI
size <integer_cst 0xf63baf48 constant 8>
unit-size <integer_cst 0xf63baf60 constant 1>
align:8 symtab:0 alias-set -1 canonical-type 0xd335a1e0
arg-types <tree_list 0xd335e978 value <pointer_type 0xd36c6c00>
chain <tree_list 0xf63d5420 value <void_type 0xf7f7f900 void>>>>
asm_written nothrow public static decl_5 QI insn-extract.c:18:1 align:8
context <translation_unit_decl 0xf63c6510 insn-extract.c> initial <block
0xc83bba80>
result <result_decl 0xd30ab438 D.69639 type <void_type 0xf7f7f900 void>
ignored VOID insn-extract.c:18:29
align:8 context <function_decl 0xd344c618 insn_extract>>
full-name "void insn_extract(rtx_insn*)"
pending-inline-info 0xc83d3120
arguments <parm_decl 0xd30afd20 insn
type <pointer_type 0xd36c6c00 type <record_type 0xd3d90ea0 rtx_insn>
sizes-gimplified public unsigned type_6 SI
size <integer_cst 0xf63bae10 constant 32>
unit-size <integer_cst 0xf63bae28 constant 4>
align:32 symtab:0 alias-set 36 canonical-type 0xd36c6c00
pointer_to_this <pointer_type 0xd36e28a0> reference_to_this
<reference_type 0xd36e2840>>
used unsigned read SI insn-extract.c:18:25 size <integer_cst 0xf63bae10
32> unit-size <integer_cst 0xf63bae28 4>
align:32 context <function_decl 0xd344c618 insn_extract>
(reg/v/f:DI 5 di [orig:51981 insn ] [51981]) arg-type <pointer_type
0xd36c6c00>
incoming-rtl (reg:DI 5 di [ insn ])>
struct-function 0xd346b3a8 chain <function_decl 0xd344c5a0
added_clobbers_hard_reg_p>>
(gdb)
On 64-bit hosts, I got
(gdb) p cfun->cfg->x_last_basic_block
$1 = 432
(gdb) call debug_tree (cfun->decl)
<function_decl 0x7f96624fcf00 insn_extract
type <function_type 0x7f9662442498
type <void_type 0x7f9665420f18 void asm_written type_6 VOID
align:8 symtab:0 alias-set -1 canonical-type 0x7f9665420f18
pointer_to_this <pointer_type 0x7f96654280a8>>
QI
size <integer_cst 0x7f9665403fc0 constant 8>
unit-size <integer_cst 0x7f9665403fd8 constant 1>
align:8 symtab:0 alias-set -1 canonical-type 0x7f9662442498
arg-types <tree_list 0x7f96624412d0 value <pointer_type 0x7f96650fc3f0>
chain <tree_list 0x7f9665417898 value <void_type 0x7f9665420f18
void>>>>
asm_written nothrow public static decl_5 QI insn-extract.c:18:1 align:8
context <translation_unit_decl 0x7f9665410168 insn-extract.c> initial <block
0x7f966254b8a0>
result <result_decl 0x7f9662503a50 D.68990 type <void_type 0x7f9665420f18
void>
ignored VOID insn-extract.c:18:29
align:8 context <function_decl 0x7f96624fcf00 insn_extract>>
full-name "void insn_extract(rtx_insn*)"
pending-inline-info 0x7f966254fc60
arguments <parm_decl 0x7f9661fe8d00 insn
type <pointer_type 0x7f96650fc3f0 type <record_type 0x7f9662f393f0
rtx_insn>
asm_written public unsigned type_6 DI
size <integer_cst 0x7f9665403ed0 constant 64>
unit-size <integer_cst 0x7f9665403ee8 constant 8>
align:64 symtab:1651843712 alias-set -1 canonical-type
0x7f96650fc3f0
pointer_to_this <pointer_type 0x7f9664997bd0> reference_to_this
<reference_type 0x7f9664997c78>>
used unsigned read DI insn-extract.c:18:25 size <integer_cst
0x7f9665403ed0 64> unit-size <integer_cst 0x7f9665403ee8 8>
align:64 context <function_decl 0x7f96624fcf00 insn_extract>
(reg/v/f:DI 5 di [orig:9470 insn ] [9470]) arg-type <pointer_type
0x7f96650fc3f0>
incoming-rtl (reg:DI 5 di [ insn ])>
struct-function 0x7f9662541d10 chain <function_decl 0x7f96624fce00
added_clobbers_hard_reg_p>>
(gdb)