On Fri, Oct 28, 2011 at 12:54 PM, David Miller wrote:
> From: Richard Guenther
> Date: Fri, 28 Oct 2011 12:47:30 +0200
>
>> Then we have to fix the middle-end which will happily expand
>> block-moves to memcpy with exact overlap (a = a is valid in C).
>> See the PR and the C testcases therein.
>>
From: Richard Guenther
Date: Fri, 28 Oct 2011 12:47:30 +0200
> Then we have to fix the middle-end which will happily expand
> block-moves to memcpy with exact overlap (a = a is valid in C).
> See the PR and the C testcases therein.
>
> Just trying to avoid this in the C++ frontend is bogus.
Agr
On Fri, Oct 28, 2011 at 12:21 PM, David Miller wrote:
> From: Richard Guenther
> Date: Fri, 28 Oct 2011 11:27:25 +0200
>
>> On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote:
>>>
>>> g++.dg/init/copy7.C makes sure that memcpy() is not emitted with
>>> src and dst equal.
>>
>> The testcase is b
From: Richard Guenther
Date: Fri, 28 Oct 2011 11:27:25 +0200
> On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote:
>>
>> g++.dg/init/copy7.C makes sure that memcpy() is not emitted with
>> src and dst equal.
>
> The testcase is bogus and should be removed. See the patch I posted
> (and the PR
On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote:
>
> g++.dg/init/copy7.C makes sure that memcpy() is not emitted with
> src and dst equal.
The testcase is bogus and should be removed. See the patch I posted
(and the PR). Unfortunately the patch didn't get any review yet.
> The fix installe
g++.dg/init/copy7.C makes sure that memcpy() is not emitted with
src and dst equal.
The fix installed absolutely relies upon a backend implementing
the movmem pattern, and essentially that such a pattern will
always succeed to emit for arbitrary circumstances.
However 1) not all platforms implem