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


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?

Thanks,
Ludoâ.


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