On Wed, May 6, 2009 at 9:17 PM, Richard Guenther
<richard.guent...@gmail.com> wrote:
> On Wed, May 6, 2009 at 9:04 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>>> What is missing to go forward with this plan?
>>
>> Almost nothing, but I'm benchmarking the change and I'm seeing degradation in
>> some cases because move IVs are exposed and so are -fivopts' warts.
>>
>>> I am hitting type consistency problems again while trying to fix PR39999 ...
>>
>> Ideally this should be independent.
>
> Yes.  But we have invalid IL before PRE (arithmetic in subtypes) and PRE 
> manages
> to expose this fact in a way that type checking complains ... :/  I
> have now tested
> 4 variants of the obvious fix and all fail one way or the other
> because of this issue.
> For 4.4 it's easier because type checking won't notice it there ;)

I wonder for example about

 <integer_type 0x2b1d770a3300 integer
    type <integer_type 0x2b1d76cbe540 integer sizes-gimplified
asm_written public visited SI
        size <integer_cst 0x2b1d76cb0a20 constant 32>
        unit size <integer_cst 0x2b1d76cb0690 constant 4>
        align 32 symtab 1993070176 alias set -1 canonical type
0x2b1d76cbe540 precision 32 min <integer_cst 0x2b1d76cb0990
-2147483648> max <integer_cst 0x2b1d76cb09c0 2147483647>
        pointer_to_this <pointer_type 0x2b1d76ccc6c0>>
    sizes-gimplified asm_written public visited SI size <integer_cst
0x2b1d76cb0a20 32> unit size <integer_cst 0x2b1d76cb0690 4>
    align 32 symtab 2001622336 alias set 0 canonical type
0x2b1d770a3300 precision 32 min <integer_cst 0x2b1d76cb0990
-2147483648> max <integer_cst 0x2b1d76cb09c0 2147483647> RM size
<integer_cst 0x2b1d76cb0a20 32>
    chain <type_decl 0x2b1d770a33c0 integer>>

it seems the base type here is exactly the same as the subtype?

In the particular case IVOPTs is creating arithmetic in that type.  Or
maybe fold.

Richard.

Reply via email to