[Graphite-Branch] Fix for dealII?

Sebastian Pop sebpop@gmail.com
Tue Mar 2 20:48:00 GMT 2010


Hi,

On Tue, Mar 2, 2010 at 05:20, Tobias Grosser <grosser@fim.uni-passau.de> wrote:
> On 03/02/2010 10:36 AM, Sebastian Pop wrote:
>>> diff --git a/gcc/graphite-clast-to-gimple.c
>>> b/gcc/graphite-clast-to-gimple.c
>>> index bf6949d..88aba53 100644
>>> --- a/gcc/graphite-clast-to-gimple.c
>>> +++ b/gcc/graphite-clast-to-gimple.c
>>> @@ -282,14 +282,15 @@ clast_to_gcc_expression (tree type, struct
>>> clast_expr *e,
>>>              {
>>>                tree name = clast_name_to_gcc (t->var, region, newivs,
>>>                                               newivs_index,
>>> params_index);
>>> -               return fold_convert (type, name);
>>> +               name = fold_build1 (VIEW_CONVERT_EXPR, type, name);
>>
>> Why do you need this change?
>
> The problem is if the loop iv is long long integer and it is initialized
> from something like *char compiled with -m32. In this case fold_convert does
> not add any conversion caracter, but a NOP, but fails in verify_stmts with
> "invalid types in nop conversion", I did it while traveling so did not have
> delta to generate a reduced test case.
>
> I will install it and add a test case to show why it is necessary. Maybe
> there is a unhandled case in fold_convert, but it will be easier to
> understand with a test case.
>

Richi, can we use the VIEW_CONVERT_EXPR instead of the call to
fold_convert in this case?

Thanks,
Sebastian



More information about the Gcc-patches mailing list