This is the mail archive of the gcc@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: TODO_rebuild_alias and -O0


On Mon, Oct 8, 2012 at 3:32 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Richard Guenther <richard.guenther@gmail.com> skribis:
>
>> On Mon, Oct 8, 2012 at 1:42 PM, Ludovic Courtès <ludo@gnu.org> wrote:
>>> Richard Guenther <richard.guenther@gmail.com> skribis:
>>>
>>>> On Mon, Oct 8, 2012 at 11:58 AM, Ludovic Courtès <ludo@gnu.org> wrote:
>>>>> Richard Guenther <richard.guenther@gmail.com> skribis:
>>>>>
>>>>>> At -O0 no virtual operands are produced.  TODO_rebuild_alias only computes
>>>>>> points-to sets which are in itself not useful.
>>>>>>
>>>>>> What do you want to achieve with TODO_rebuild_alias?
>>>>>
>>>>> I basically want to use ‘ptr_derefs_may_alias_p’ in this particular pass.
>>>>
>>>> That should work.
>>>
>>> It actually does, except that ‘ptr_derefs_may_alias_p’ returns true for
>>> two SSA names in cases like this:
>>>
>>>   double *p, *q;
>>>   p = malloc (123);
>>>   q = malloc (234);
>>>
>>> (Where ‘malloc’ has the ‘malloc’ attribute.)
>>>
>>> For some reason, there’s no such false positive when using TODO_rebuild_alias.
>>
>> Well, "that should work" means it works non-conservatively with
>> TODO_rebuild_alias, of course.
>
> Right.  :-)  So how can I get maximum accuracy, while avoid the assertion
> failure on -O0?

You have to analyze the assert more.  From the backtrace I cannot see
anything suspicious.

> Thanks,
> Ludo’.


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