On Mon, Oct 8, 2012 at 3:32 PM, Ludovic Courtès <l...@gnu.org> wrote: > Richard Guenther <richard.guent...@gmail.com> skribis: > >> On Mon, Oct 8, 2012 at 1:42 PM, Ludovic Courtès <l...@gnu.org> wrote: >>> Richard Guenther <richard.guent...@gmail.com> skribis: >>> >>>> On Mon, Oct 8, 2012 at 11:58 AM, Ludovic Courtès <l...@gnu.org> wrote: >>>>> Richard Guenther <richard.guent...@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’.