GDC generates invalid assembly around fiber yield operations (Not re-reading data from clobberedd memory to registers)
Liran Zvibel via D.gnu
d.gnu at puremagic.com
Fri May 15 02:50:58 PDT 2015
Hi,
I’m trying to port a 120k loc fiber based application from dmd to gdc, so applying this work around is not a good option for me (also, there are many engineers that will continue generating code…)
Thanks
Liran
> On May 15, 2015, at 10: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;
>
More information about the D.gnu
mailing list