On Thu, Jun 13, 2013 at 3:27 AM, Bin Cheng <bin.ch...@arm.com> wrote:
> Hi,
> This is a case of NOP_EXPR and CONVERT_EXPR not compared equal in
> operand_equal_p, resulting in below two nodes are considered different:
>
> NODE 0:
> <convert_expr 0xb72ddb04
>     type <integer_type 0xb74602a0 short int sizes-gimplified public HI
>         size <integer_cst 0xb744e7c4 constant 16>
>         unit size <integer_cst 0xb744e7e0 constant 2>
>         align 16 symtab 0 alias set 4 canonical type 0xb74602a0
> precision 16 min <integer_cst 0xb744e770 -32768> max <integer_cst
> 0xb744e78c 32767> context <translation_unit_decl 0xb760dd80 D.6120>
>         pointer_to_this <pointer_type 0xb7241600>>
>
>     arg 0 <ssa_name 0xb72882f8
>         type <integer_type 0xb7460420 long int sizes-gimplified public SI
>             size <integer_cst 0xb744e55c constant 32>
>             unit size <integer_cst 0xb744e578 constant 4>
>             align 32 symtab 0 alias set 5 canonical type 0xb7460420
> precision 32 min <integer_cst 0xb744e888 -2147483648> max <integer_cst
> 0xb744e8a4 2147483647> context <translation_unit_decl 0xb760dd80
> D.6120>
>             pointer_to_this <pointer_type 0xb74677e0>>
>         visiteddef_stmt _23 = *_22;
>
>         version 23>>
>
> NODE 1:
> <nop_expr 0xb72e1b54
>     type <integer_type 0xb74602a0 short int sizes-gimplified public HI
>         size <integer_cst 0xb744e7c4 constant 16>
>         unit size <integer_cst 0xb744e7e0 constant 2>
>         align 16 symtab 0 alias set 4 canonical type 0xb74602a0
> precision 16 min <integer_cst 0xb744e770 -32768> max <integer_cst
> 0xb744e78c 32767> context <translation_unit_decl 0xb760dd80 D.6120>
>         pointer_to_this <pointer_type 0xb7241600>>
>
>     arg 0 <ssa_name 0xb72882f8
>         type <integer_type 0xb7460420 long int sizes-gimplified public SI
>             size <integer_cst 0xb744e55c constant 32>
>             unit size <integer_cst 0xb744e578 constant 4>
>             align 32 symtab 0 alias set 5 canonical type 0xb7460420
> precision 32 min <integer_cst 0xb744e888 -2147483648> max <integer_cst
> 0xb744e8a4 2147483647> context <translation_unit_decl 0xb760dd80
> D.6120>
>             pointer_to_this <pointer_type 0xb74677e0>>
>         visiteddef_stmt _23 = *_22;
>
>         version 23>>
>
>
> This patch fixes the problem. Please refer to
> http://gcc.gnu.org/ml/gcc/2013-05/msg00199.html for more information.
>
> Bootstrap and test on x86 and cortex-a15.  Is it OK?

Ok.

Thanks,
Richard.

> Thanks.
> bin
>
> 2013-06-13  Bin Cheng  <bin.ch...@arm.com>
>
>         * fold-const.c (operand_equal_p): Consider NOP_EXPR and CONVERT_EXPR
>         as equal nodes.

Reply via email to