Cleanup some problems with LLVM_ENABLE_DUMP in release builds
Removed a few unneeded tests for NDEBUG and replace others with
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP).
One issue involved ifdef'ing away a char* field from a struct, and changing
tablegen to handle it correctly, which might not be the best way to handle it.
Just noticed that this doesn't actually update the cache. However, that doesn't matter in this case since the updated variable is what is actually used.
I'll fix this shortly so it won't confuse anyone looking at the cache.