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