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.

Reply via email to