The tablegen setup for Target/X86 is a bit different from the CMake build: In the CMake build, Target/X86/CMakeLists.txt has a single tablegen target that does everything. But some of the generated files are only used privately by a subproject, so in the GN build some of the tablegen invocations are smaller-scoped, mostly for build cleanliness. (It helps also a tiny bit with build parallelism since now e.g. the cpp files in MCTargetDesc can build after just 3 .inc files are generated instead of being blocked on all 13. But it's not a big win, since things depending on Target still need to wait for all 11, even though all .inc file use is internal to lib/Target.)
Also add a build file for llc, since now all its dependencies have build files.
Is this intentional? If yes, can you comment on why is arm32 and arm64 being disabled?