GDC generates invalid assembly around fiber yield operations (Not re-reading data from clobberedd memory to registers)

Iain Buclaw via D.gnu d.gnu at puremagic.com
Fri May 15 00:13:12 PDT 2015


On 15 May 2015 at 09:08, Johannes Pfau via D.gnu <d.gnu at puremagic.com> wrote:
> Am Thu, 14 May 2015 19:02:48 +0200
> schrieb Johannes Pfau <nospam at example.com>:
>
>> ...
>
> TLDR
> As a workaround replace
>
> globalSum += otherFunc();
>
> which GDC currently treats as
>
> globalSum = globalSum + otherFunc();
>
> with
>
> globalSum = otherFunc() + globalSum;
>

That is an interesting workaround, should we perhaps reconsider our
code generation here?

Iain.


More information about the D.gnu mailing list