Names are used for debugging purpose and have no impact on codegen. For
a non-trivial project, reading them consumes a lot of memory and slows
down the compilation significantly. This patch adds a field in the
indexed CGData to remember the total size of Names, and creates a
command-line option to skip reading Names by advancing the pointer when
deserializing the indexed CGData.
All uses of getNames is read access to the list of names, so we can
just return ArrayRef<std::string>. There is no need to make a copy as
we prepare a return value.
---------
Co-authored-by: Matt Arsenault <arsenm2@gmail.com>