http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49210
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-05-30 10:47:43 UTC --- We have calls that assign iftmp.2_37 = boolean_subtype2.is_string_type.part (id_3(D)); <integer_type 0x7ffff5b5c0a8 boolean_subtype2__b___XDLU_0__1 type <boolean_type 0x7ffff7ee3dc8 boolean sizes-gimplified public visited unsigned QI size <integer_cst 0x7ffff7ed3f80 constant visited 8> unit size <integer_cst 0x7ffff7ed3fa0 constant 1> align 8 symtab 0 alias set 5 canonical type 0x7ffff7ee3dc8 precision 8 min <integer_cst 0x7ffff7ee85e0 0> max <integer_cst 0x7ffff7ee8600 255> RM size <integer_cst 0x7ffff7ee8640 1> RM max <integer_cst 0x7ffff7ee8620 1>> sizes-gimplified public visited unsigned QI size <integer_cst 0x7ffff7ed3f80 8> unit size <integer_cst 0x7ffff7ed3fa0 1> align 8 symtab 0 alias set 5 canonical type 0x7ffff5b5c0a8 precision 8 min <integer_cst 0x7ffff5b6c800 0> max <integer_cst 0x7ffff5b6c820 255> RM size <integer_cst 0x7ffff7ee8640 1> RM min <integer_cst 0x7ffff7ee85e0 0> RM max <integer_cst 0x7ffff7ee8620 1> chain <type_decl 0x7ffff7f128a0 boolean_subtype2__b___XDLU_0__1>> (the function result type) to <boolean_type 0x7ffff7ee3dc8 boolean sizes-gimplified public visited unsigned QI size <integer_cst 0x7ffff7ed3f80 type <integer_type 0x7ffff7ee30a8 bit_size_type> constant visited 8> unit size <integer_cst 0x7ffff7ed3fa0 type <integer_type 0x7ffff7ee3000 size_type> constant 1> align 8 symtab 0 alias set 5 canonical type 0x7ffff7ee3dc8 precision 8 min <integer_cst 0x7ffff7ee85e0 0> max <integer_cst 0x7ffff7ee8600 255> RM size <integer_cst 0x7ffff7ee8640 1> RM max <integer_cst 0x7ffff7ee8620 1>> where only for the type of the LHS we know it's two-valued. This is exposed during inlining triggered by function splitting.