Several of the targets in lib/Target have layering issues. Specifically, headers from MCTargetDesc are used when MCTargetDesc is not a dependency. This patch shows the cleanup required for X86 to be fixed of this issue. X86BaseInfo.h is moved to Utils directory, and several enums are moved from X86MCTargetDesc.h into it. This allows InstPrinter to use it without causing a dependency cycle.
The expected dependency list is:
TargetInfo, Utils
InstPrinter
MCTargetDesc
Base Directory, AsmParser, Disassembler
If this is acceptable for X86, I plan on fixing the other targets in a similar manner.