To help LDC/GDC

Timon Gehr timon.gehr at gmx.ch
Tue Apr 9 04:40:48 PDT 2013


On 04/09/2013 01:39 PM, Timon Gehr wrote:
> On 04/09/2013 01:27 PM, Manu wrote:
>> ...
>>
>> The only optimisation possibility is for strong pure functions that are
>> also nothrow, right?  Was that the conditions for pure function
>> refactoring?
>
> No, strongly pure functions will always throw the same classes of
> exceptions when called with the same arguments. Therefore, with some
> flow-analysis, common subexpression elimination can apply to strongly
> pure functions which are not nothrow.
>
> Eg, given int foo(int)pure;,

and int a,b;,

> the transformation from
>
> a = foo(2);
> b = foo(2);
>
> to
>
> a = foo(2);
> b = a;
>
> is valid.



More information about the Digitalmars-d mailing list