This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/81869] [8 Regression] --enable-checking=yes,rtl failed to bootstrap on 32-bit hosts


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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]