Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-23 Thread Eric Botcazou
> 2012-04-16 Martin Jambor > > * expr.c (expand_expr_real_1): Remove setting parent's alias set for > temporaries created for a bitfield (reverting revision 122014). OK, thanks. -- Eric Botcazou

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-17 Thread Martin Jambor
Hi, On Thu, Apr 12, 2012 at 07:21:12PM +0200, Eric Botcazou wrote: > > Well, the commit did not add a testcase and when I looked up the patch > > in the mailing list archive > > (http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01449.html) it said it > > was fixing problems not reproducible on trunk s

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-12 Thread Eric Botcazou
> Well, the commit did not add a testcase and when I looked up the patch > in the mailing list archive > (http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01449.html) it said it > was fixing problems not reproducible on trunk so it's basically > impossible for me to evaluate whether it is still necessa

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-12 Thread Martin Jambor
Hi, On Fri, Apr 06, 2012 at 06:13:20PM +0200, Eric Botcazou wrote: > > 2012-04-03 Martin Jambor > > > > * expr.c (expand_expr_real_1): Pass type, not the expression, to > > set_mem_attributes for a memory temporary. Do not call the > > function for temporaries with a different alia

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-06 Thread Eric Botcazou
> @@ -9870,7 +9871,14 @@ expand_expr_real_1 (tree exp, rtx target > if (op0 == orig_op0) > op0 = copy_rtx (op0); > > - set_mem_attributes (op0, exp, 0); > + /* If op0 is a temporary because of forcing to memory, pass only the > +type to set_mem_attributes so that the o

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-06 Thread Eric Botcazou
> 2012-04-03 Martin Jambor > > * expr.c (expand_expr_real_1): Pass type, not the expression, to > set_mem_attributes for a memory temporary. Do not call the > function for temporaries with a different alias set. The last sentence is unprecise, this would rather be: "Do not ca

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-04 Thread Martin Jambor
Hi, On Tue, Apr 03, 2012 at 11:02:11AM +0200, Eric Botcazou wrote: > > Yeah, that sounds reasonable. > > There is a further subtlety in the second temp allocation when the expression > doesn't use the alias set of its type. In that case, we cannot pass the type > to set_mem_attributes. In fac

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-03 Thread Eric Botcazou
> Yeah, that sounds reasonable. There is a further subtlety in the second temp allocation when the expression doesn't use the alias set of its type. In that case, we cannot pass the type to set_mem_attributes. In fact, since assign_stack_temp_for_type already calls the appropriate set_mem_* r

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-03 Thread Richard Guenther
On Tue, 3 Apr 2012, Eric Botcazou wrote: > > Yes, either way I suppose. The following also looks dangerous to me: > > > > /* If OFFSET is making OP0 more aligned than BIGGEST_ALIGNMENT, > >record its alignment as BIGGEST_ALIGNMENT. */ > > if (MEM_P (op0) && bitpos ==

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-03 Thread Eric Botcazou
> Yes, either way I suppose. The following also looks dangerous to me: > > /* If OFFSET is making OP0 more aligned than BIGGEST_ALIGNMENT, >record its alignment as BIGGEST_ALIGNMENT. */ > if (MEM_P (op0) && bitpos == 0 && offset != 0 > && is_aligning_offset

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-04-02 Thread Richard Guenther
On Sat, 31 Mar 2012, Martin Jambor wrote: > Hi, > > On Fri, Mar 30, 2012 at 10:03:59AM +0200, Richard Guenther wrote: > > On Fri, 30 Mar 2012, Martin Jambor wrote: > > > > > Hi, > > > > > > when testing a patch of mine on sparc64-linux, I came across an Ada > > > bootstrap failure due to a stru

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-03-31 Thread Martin Jambor
Hi, On Fri, Mar 30, 2012 at 10:03:59AM +0200, Richard Guenther wrote: > On Fri, 30 Mar 2012, Martin Jambor wrote: > > > Hi, > > > > when testing a patch of mine on sparc64-linux, I came across an Ada > > bootstrap failure due to a structure DECL which was marked addressable > > but had a registe

Re: [PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-03-30 Thread Richard Guenther
On Fri, 30 Mar 2012, Martin Jambor wrote: > Hi, > > when testing a patch of mine on sparc64-linux, I came across an Ada > bootstrap failure due to a structure DECL which was marked addressable > but had a register DECL_RTL (and therefore mem_ref_refers_to_non_mem_p > failed to trigger on it). >

[PATCH] Dissociate store_expr's temp from exp so that it is not marked as addressable

2012-03-29 Thread Martin Jambor
Hi, when testing a patch of mine on sparc64-linux, I came across an Ada bootstrap failure due to a structure DECL which was marked addressable but had a register DECL_RTL (and therefore mem_ref_refers_to_non_mem_p failed to trigger on it). Mode of the structure was TI (16 bytes int) and it was mi