On Fri, Jan 27, 2012 at 9:44 AM, Tom de Vries <tom_devr...@mentor.com> wrote:
> On 26/01/12 12:08, Richard Guenther wrote:
>> On Thu, Jan 26, 2012 at 10:35 AM, Tom de Vries <tom_devr...@mentor.com> 
>> wrote:
>>> Richard,
>>>
>>> This patch fixes PR51990.
>>>
>>> The patch adds handling of WITH_SIZE_EXPR in copy_reference_ops_from_ref and
>>> create_component_ref_by_pieces_1, preventing ICEs on the test-cases.
>>
>> The create_component_ref_by_pieces_1 handling is incorrect - you fail
>> to properly re-instantiate operand 1 (currop->op0).  You should add
>> a new case for WITH_SIZE_EXPR and properly handle it via
>>
>>             op0expr = get_or_alloc_expr_for (currop->op0);
>>             genop0 = find_or_generate_expression (block, op0expr,
>>                                                   stmts, domstmt);
>>             if (!genop0)
>>               return NULL_TREE;
>>
>
> I see.
>
> Updated patch, bootstrapped and reg-tested on x86_64.
> Ok for stage4 or stage1?

Ok for stage4.

Thanks,
Richard.

> Thanks,
> - Tom
>
>> Richard.
>>
>
>
> 2012-01-27  Tom de Vries  <t...@codesourcery.com>
>
>        PR tree-optimization/51990
>        * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle 
> WITH_SIZE_EXPR.
>        * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
>
>        * gcc.dg/pr51990.c: New test.
>        * gcc.dg/pr51990-2.c: Same.

Reply via email to