new should lower to a template function call

Petar Petar
Thu Jul 23 06:15:58 UTC 2020


On Thursday, 23 July 2020 at 06:13:52 UTC, Petar Kirov 
[ZombineDev] wrote:
> On Thursday, 23 July 2020 at 05:12:30 UTC, Walter Bright wrote:
>> On 7/22/2020 6:05 PM, Adam D. Ruppe wrote:
>>> [...]
>>
>> The compiler already does this if the variable being new`d is 
>> `scope`.
>
> LDC has an optimization pass [1] which promotes heap 
> allocations to stack allocations, without  the user having to 
> manually use the `scope` storage class for function-local 
> variables.
> Do you think we could formalize this optimization and move it 
> up the pipeline into the front-end, so that it's guaranteed to 
> be performed by all 3 compilers?
>
> [1]: 
> https://github.com/ldc-developers/ldc/blob/v1.23.0-beta1/gen/passes/GarbageCollect2Stack.cpp

... building upon the infrastructure in src/dmd/escape.d


More information about the Digitalmars-d mailing list