WebAssemblyUtils depends on CodeGen which depends on all middle end
optimization libraries.
This component is used by WebAssembly's AsmParser, Disassembler, and
MCTargetDesc libraries. Because of this, any MC layer tool built with
WebAssembly support includes a larger portion of LLVM than it should.
To fix this I've created MC only versions of WebAssemblyUtilties.cpp
and WebAssemblyTypeUtilities.cpp in MCTargetDesc to be used by the MC
components.
This shrinks llvm-objdump and llvm-mc on my local release+asserts
build by 5-6 MB.
This is a pretty naive splitting so I welcome feedback on how
WebAssembly developers would like to see this structured.