[cfe-dev] [RFC] automatic variable initialization

Kostya Serebryany via cfe-dev cfe-dev at lists.llvm.org
Mon Nov 26 18:42:55 PST 2018


On Sat, Nov 17, 2018 at 9:00 AM David Blaikie via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Would it be that drastic to have this require a code change/compiler
> rebuild to enable? It could be designed so the change is small/easy
> (changing a constant) but that the default compilers we all ship around (&
> especially not the official releases) don't allow access to this
> functionality.
>
> Anyone wanting to gather data would have to make this small change,
> rebuild their compiler, build their target with this feature & gatehr
> results from there.
>

This will cripple our ability to do measurements because in many cases we
can only build things with whatever is the production compiler.
I'd rather just rename the flag to something like
-ftrivial-auto-var-init=zero-SCARY-WARNING-ABOUT-VOID-WARRANTY-GOES-HERE




>
> On Sat, Nov 17, 2018 at 5:43 AM Tim Northover via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> Some very good points about mixing in 0s with the general case there.
>>
>> On Fri, 16 Nov 2018 at 01:59, Chandler Carruth <chandlerc at google.com>
>> wrote:
>> > FWIW, I agree about the zero case. I'm deeply concerned about
>> fragmentation here.
>> >
>> > But I *also* really want to be able to get the data and measurements
>> needed to address performance problems with non-zero initialization.
>>
>> Yes, having a mechanism to get data does seem essential, but we need
>> to do everything we can to stop it being abused.
>>
>> > I would love to see a way to get the zero initialization behavior for
>> performance testing, but *not* expose this as a supported flag to users. I
>> can imagine many ways to do that. Tim, would that address your concerns?
>>
>> Yes; personally I think something stronger than a simple -cc1 flag is
>> probably needed to achieve that though. A (non-suppressible?) warning
>> comes to mind; mostly because I haven't come up with anything more
>> obnoxious yet.
>>
>> Cheers.
>>
>> Tim.
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181126/8fe7af3b/attachment.html>


More information about the cfe-dev mailing list