This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] FIx for PR51990 - ICE in copy_reference_ops_from_ref


On Fri, Jan 27, 2012 at 9:44 AM, Tom de Vries <Tom_deVries@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_deVries@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 ?<tom@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]