On Tue, Nov 11, 2008 at 7:58 PM, Daniel Dunbar <[EMAIL PROTECTED]> wrote: > Hi Eli, > > On Tue, Nov 11, 2008 at 6:30 PM, Eli Friedman <[EMAIL PROTECTED]> wrote: >> On Tue, Nov 11, 2008 at 4:01 PM, Daniel Dunbar <[EMAIL PROTECTED]> wrote: >>> Author: ddunbar >>> Date: Tue Nov 11 18:01:12 2008 >>> New Revision: 59094 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=59094&view=rev >>> Log: >>> Disable generation of basic block names in NDEBUG mode. >>> >>> Revert to enabling generation of instruction names when not in NDEBUG >>> mode. >> >> Is this really a good idea? Normally NDEBUG doesn't change the >> visible behavior of the program. > > One response would be that the names on LLVM instructions aren't > intended to be part of the "visible" behavior of the compiler. > > Actually, I would prefer this was always a runtime option, but the > current design of the IRBuilder class is basing this off a template > parameter. > > But in practice, is this a bad idea? What are you concerned about? The > missing names triggering some different behavior in the backend which > results in a bug that only shows up in Release-Asserts mode?
Mmm... I guess I can't come up with any real-world cases where this actually makes a difference, assuming we maintain the invariant that instruction names don't affect compiler behavior. The one thing I can think of is that if someone were expecting the output to be identical between all kinds of builds, it might be a bit non-obvious why the output differs. -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
