This patch changes the following:
  * Use conventional naming for KindHandlers.
  * Add X86 relocation routines.
  * Use std::function instead of function pointers in _fixupHandler map.
  * Change _fixupHandler map from std::map to llvm::DenseMap.
  * Add simple testcase for x86 relocations.

llvm-svn: 166700
diff --git a/lld/lib/ReaderWriter/ELF/ReferenceKinds.cpp b/lld/lib/ReaderWriter/ELF/ReferenceKinds.cpp
index 06d9732..175c43a 100644
--- a/lld/lib/ReaderWriter/ELF/ReferenceKinds.cpp
+++ b/lld/lib/ReaderWriter/ELF/ReferenceKinds.cpp
@@ -32,66 +32,16 @@
                                           llvm::support::endianness endian) {
   switch(arch) {
   case llvm::ELF::EM_HEXAGON:
-    return std::unique_ptr<KindHandler>(new KindHandler_hexagon());
+    return std::unique_ptr<KindHandler>(new HexagonKindHandler());
   case llvm::ELF::EM_386:
-    return std::unique_ptr<KindHandler>(new KindHandler_x86());
+    return std::unique_ptr<KindHandler>(new X86KindHandler());
   case llvm::ELF::EM_PPC:
-    return std::unique_ptr<KindHandler>(new KindHandler_ppc(endian));
+    return std::unique_ptr<KindHandler>(new PPCKindHandler(endian));
   default:
     llvm_unreachable("arch not supported");
   }
 }
 
-//===----------------------------------------------------------------------===//
-//  KindHandler_x86
-//  TODO: more to do here
-//===----------------------------------------------------------------------===//
-
-KindHandler_x86::~KindHandler_x86() {}
-
-Reference::Kind KindHandler_x86::stringToKind(StringRef str) {
-  return llvm::StringSwitch<Reference::Kind>(str)
-    .Case("none", none)
-    .Default(invalid);
-}
-
-StringRef KindHandler_x86::kindToString(Reference::Kind kind) {
-  switch ( (Kinds)kind ) {
-    case invalid:
-      return "invalid";
-    case none:
-      return "none";
-  }
-  llvm_unreachable("invalid x86 Reference kind");
-}
-
-bool KindHandler_x86::isCallSite(Kind kind) {
-  llvm_unreachable("Unimplemented: KindHandler_x86::isCallSite");
-  return false;
-}
-
-bool KindHandler_x86::isPointer(Kind kind) {
-  llvm_unreachable("Unimplemented: KindHandler_x86::isPointer");
-  return false;
-}
- 
-bool KindHandler_x86::isLazyImmediate(Kind kind) {
-  llvm_unreachable("Unimplemented: KindHandler_x86::isLazyImmediate");
-  return false;
-}
- 
-bool KindHandler_x86::isLazyTarget(Kind kind) {
-  llvm_unreachable("Unimplemented: KindHandler_x86::isLazyTarget");
-  return false;
-}
-
-void KindHandler_x86::applyFixup(int32_t reloc, uint64_t addend,
-                                    uint8_t *location, uint64_t fixupAddress,
-                                    uint64_t targetAddress) {
-// TODO: Add reloc funcs for X86
-  return;
-}
-
 } // namespace elf
 } // namespace lld