Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-17 Thread Eric Botcazou
> + if (type1 != type2 || TREE_CODE (type1) != RECORD_TYPE) > +goto may_overlap; > > ick, can TREE_CODE (type1) != RECORD_TYPE happen as well here? > Please add a comment similar to the Fortran ??? above. It can happen because we stop at unions (and qualified unions) and for them we

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-16 Thread Richard Biener
On Tue, Apr 16, 2013 at 11:55 AM, Eric Botcazou wrote: >> Note that looking at the access path _is_ assuming TBAA constraints as >> soon as the base objects are not the same (in the above case '*p' and 'a' >> are not the same and p could alias a in a way that all f1 and f2 overlap). > > Right, but

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-16 Thread Eric Botcazou
> Note that looking at the access path _is_ assuming TBAA constraints as > soon as the base objects are not the same (in the above case '*p' and 'a' > are not the same and p could alias a in a way that all f1 and f2 overlap). Right, but here I'm assuming (and asserting) that the base objects are t

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-15 Thread Richard Biener
On Mon, Apr 15, 2013 at 11:47 AM, Richard Biener wrote: > On Sun, Apr 14, 2013 at 9:46 AM, Eric Botcazou wrote: >>> This is a quadratic algorithm and as such not ok. We already have >>> aliasing_component_refs_p in tree-ssa-alias.c which is supposed to be >>> the non-quadratic replacement. It's

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-15 Thread Richard Biener
On Sun, Apr 14, 2013 at 9:46 AM, Eric Botcazou wrote: >> This is a quadratic algorithm and as such not ok. We already have >> aliasing_component_refs_p in tree-ssa-alias.c which is supposed to be >> the non-quadratic replacement. It's not used via decl_refs_may_alias_p, >> so that may be the thi

Re: [patch] Fix ICE during RTL expansion at -O1

2013-04-14 Thread Eric Botcazou
> This is a quadratic algorithm and as such not ok. We already have > aliasing_component_refs_p in tree-ssa-alias.c which is supposed to be > the non-quadratic replacement. It's not used via decl_refs_may_alias_p, > so that may be the thing to fix. aliasing_component_refs_p isn't powerful enough

Re: [patch] Fix ICE during RTL expansion at -O1

2013-03-22 Thread Richard Biener
On Thu, Mar 21, 2013 at 5:24 PM, Eric Botcazou wrote: > Hi, > > this fixes an ICE on the mainline at -O1: > > eric@polaris:~/gnat/bugs/M129-026> ~/install/gcc/bin/gcc -S p.adb -O > +===GNAT BUG DETECTED==+ > | 4.9.0 20130320 (experimental) [trunk

[patch] Fix ICE during RTL expansion at -O1

2013-03-21 Thread Eric Botcazou
Hi, this fixes an ICE on the mainline at -O1: eric@polaris:~/gnat/bugs/M129-026> ~/install/gcc/bin/gcc -S p.adb -O +===GNAT BUG DETECTED==+ | 4.9.0 20130320 (experimental) [trunk revision 196816] (x86_64-suse-linux) GCC error:| | in expand_assi