On Tue, Sep 8, 2015 at 10:26 AM, John McCall <rjmcc...@apple.com> wrote:

> On Sep 8, 2015, at 8:25 AM, David Blaikie <dblai...@gmail.com> wrote:
> On Tue, Sep 8, 2015 at 2:18 AM, John McCall via cfe-commits <
> cfe-commits@lists.llvm.org> wrote:
>
>> Author: rjmccall
>> Date: Tue Sep  8 04:18:30 2015
>> New Revision: 246991
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=246991&view=rev
>> Log:
>> When building the alloca for a local variable, set its name
>> separately from building the instruction so that it's
>> preserved even in -Asserts builds.
>>
>
> Why do we want to preserve this name in particular in -Asserts builds?
>
>
> It’s a fairly small runtime cost — no twine appending, only present on a
> tiny fraction of instructions, unlikely to collide within a single function
> — that makes reading the IR dramatically easier.  That’s still useful to be
> able to do with a production compiler, both for us and for sophisticated
> users.
>
> IIRC, Daniel did the perf work on IR names way back when; he might have
> other thoughts.
>

*nod* I'd be curious to see/hear/better understand the tradeoffs. I know
I've talked to Chandler (CC'd) about it before when he's expressed a desire
to want to more fully remove names from non-asserts builds (specifically:
optimizations still create named values even in -Asserts builds, I think?
or maybe there was some other - oh, right, as you were saying, the Twine
building cost, even when the name isn't used some names are complex to
create, etc)


>
> John.
>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to