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)