Remove cyclic dependency in AArch64 libraries

This moves the bit twiddling and string fiddling functions required by other
parts of the backend into a separate library. Previously they resided in
AArch64Desc, which created a circular dependency between various components.

llvm-svn: 174369
diff --git a/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp b/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
index a7fc352..017b509 100644
--- a/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+++ b/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
@@ -12,7 +12,7 @@
 #include "AArch64.h"
 #include "AArch64RegisterInfo.h"
 #include "AArch64Subtarget.h"
-#include "MCTargetDesc/AArch64BaseInfo.h"
+#include "Utils/AArch64BaseInfo.h"
 #include "llvm/MC/MCInst.h"
 #include "llvm/MC/MCInstrDesc.h"
 #include "llvm/MC/MCExpr.h"
diff --git a/llvm/lib/Target/AArch64/Disassembler/LLVMBuild.txt b/llvm/lib/Target/AArch64/Disassembler/LLVMBuild.txt
index 123eb3e..a93e343 100644
--- a/llvm/lib/Target/AArch64/Disassembler/LLVMBuild.txt
+++ b/llvm/lib/Target/AArch64/Disassembler/LLVMBuild.txt
@@ -19,6 +19,6 @@
 type = Library
 name = AArch64Disassembler
 parent = AArch64
-required_libraries = AArch64CodeGen AArch64Desc AArch64Info MC Support
+required_libraries = AArch64CodeGen AArch64Desc AArch64Info AArch64Utils MC Support
 add_to_library_groups = AArch64