From f8c6515554cc4a8f878179e2e081946c8c519fe3 Mon Sep 17 00:00:00 2001
From: Alexander Yermolovich <ayermolo@fb.com>
Date: Thu, 22 Jul 2021 14:11:49 -0700
Subject: [PATCH] [DWP] Refactoring llvm-dwp in to a library part 2

This is follow up to https://reviews.llvm.org/D106198 where llvm-dwp was refactored in to multiple files.
In this patch moving them in to lib/include directories.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D106493
---
 llvm/{tools/llvm-dwp => include/llvm/DWP}/DWP.h |  6 +++---
 .../llvm-dwp => include/llvm/DWP}/DWPError.h    |  6 +++---
 .../llvm/DWP}/DWPStringPool.h                   |  6 +++---
 llvm/lib/CMakeLists.txt                         |  1 +
 llvm/lib/DWP/CMakeLists.txt                     | 17 +++++++++++++++++
 llvm/{tools/llvm-dwp => lib/DWP}/DWP.cpp        |  4 ++--
 llvm/{tools/llvm-dwp => lib/DWP}/DWPError.cpp   |  2 +-
 llvm/tools/llvm-dwp/CMakeLists.txt              |  6 +-----
 llvm/tools/llvm-dwp/llvm-dwp.cpp                |  6 +++---
 9 files changed, 34 insertions(+), 20 deletions(-)
 rename llvm/{tools/llvm-dwp => include/llvm/DWP}/DWP.h (97%)
 rename llvm/{tools/llvm-dwp => include/llvm/DWP}/DWPError.h (83%)
 rename llvm/{tools/llvm-dwp => include/llvm/DWP}/DWPStringPool.h (93%)
 create mode 100644 llvm/lib/DWP/CMakeLists.txt
 rename llvm/{tools/llvm-dwp => lib/DWP}/DWP.cpp (99%)
 rename llvm/{tools/llvm-dwp => lib/DWP}/DWPError.cpp (56%)

diff --git a/llvm/tools/llvm-dwp/DWP.h b/llvm/include/llvm/DWP/DWP.h
similarity index 97%
rename from llvm/tools/llvm-dwp/DWP.h
rename to llvm/include/llvm/DWP/DWP.h
index 8a46a011516f..666b7add6019 100644
--- a/llvm/tools/llvm-dwp/DWP.h
+++ b/llvm/include/llvm/DWP/DWP.h
@@ -1,5 +1,5 @@
-#ifndef LLVM_TOOLS_LLVM_DWP_DWP_H
-#define LLVM_TOOLS_LLVM_DWP_DWP_H
+#ifndef LLVM_DWP_DWP_H
+#define LLVM_DWP_DWP_H
 
 #include "DWPStringPool.h"
 #include "llvm/ADT/ArrayRef.h"
@@ -94,4 +94,4 @@ void writeIndex(MCStreamer &Out, MCSection *Section,
                 uint32_t IndexVersion);
 
 } // namespace llvm
-#endif // LLVM_TOOLS_LLVM_DWP_DWP_H
+#endif // LLVM_DWP_DWP_H
diff --git a/llvm/tools/llvm-dwp/DWPError.h b/llvm/include/llvm/DWP/DWPError.h
similarity index 83%
rename from llvm/tools/llvm-dwp/DWPError.h
rename to llvm/include/llvm/DWP/DWPError.h
index b116f1cf255c..a690ef3109bb 100644
--- a/llvm/tools/llvm-dwp/DWPError.h
+++ b/llvm/include/llvm/DWP/DWPError.h
@@ -1,5 +1,5 @@
-#ifndef TOOLS_LLVM_DWP_DWPERROR
-#define TOOLS_LLVM_DWP_DWPERROR
+#ifndef LLVM_DWP_DWPERROR_H
+#define LLVM_DWP_DWPERROR_H
 
 #include "llvm/Support/Error.h"
 #include "llvm/Support/ErrorHandling.h"
@@ -20,4 +20,4 @@ private:
 };
 } // namespace llvm
 
-#endif
+#endif // LLVM_DWP_DWPERROR_H
diff --git a/llvm/tools/llvm-dwp/DWPStringPool.h b/llvm/include/llvm/DWP/DWPStringPool.h
similarity index 93%
rename from llvm/tools/llvm-dwp/DWPStringPool.h
rename to llvm/include/llvm/DWP/DWPStringPool.h
index 216b9db2cd37..9f69851f0055 100644
--- a/llvm/tools/llvm-dwp/DWPStringPool.h
+++ b/llvm/include/llvm/DWP/DWPStringPool.h
@@ -1,5 +1,5 @@
-#ifndef TOOLS_LLVM_DWP_DWPSTRINGPOOL
-#define TOOLS_LLVM_DWP_DWPSTRINGPOOL
+#ifndef LLVM_DWP_DWPSTRINGPOOL_H
+#define LLVM_DWP_DWPSTRINGPOOL_H
 
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/MC/MCSection.h"
@@ -53,4 +53,4 @@ public:
 };
 } // namespace llvm
 
-#endif
+#endif // LLVM_DWP_DWPSTRINGPOOL_H
diff --git a/llvm/lib/CMakeLists.txt b/llvm/lib/CMakeLists.txt
index e2093f1dd327..d88bb157a03b 100644
--- a/llvm/lib/CMakeLists.txt
+++ b/llvm/lib/CMakeLists.txt
@@ -26,6 +26,7 @@ add_subdirectory(ObjectYAML)
 add_subdirectory(Option)
 add_subdirectory(Remarks)
 add_subdirectory(DebugInfo)
+add_subdirectory(DWP)
 add_subdirectory(ExecutionEngine)
 add_subdirectory(Target)
 add_subdirectory(AsmParser)
diff --git a/llvm/lib/DWP/CMakeLists.txt b/llvm/lib/DWP/CMakeLists.txt
new file mode 100644
index 000000000000..693966772a8c
--- /dev/null
+++ b/llvm/lib/DWP/CMakeLists.txt
@@ -0,0 +1,17 @@
+add_llvm_component_library(LLVMDWP
+  DWP.cpp
+  DWPError.cpp
+
+  ADDITIONAL_HEADER_DIRS
+  ${LLVM_MAIN_INCLUDE_DIR}/llvm/DWP
+
+  DEPENDS
+  intrinsics_gen
+
+  LINK_COMPONENTS
+  DebugInfoDWARF
+  MC
+  Object
+  Support
+  Target
+)
diff --git a/llvm/tools/llvm-dwp/DWP.cpp b/llvm/lib/DWP/DWP.cpp
similarity index 99%
rename from llvm/tools/llvm-dwp/DWP.cpp
rename to llvm/lib/DWP/DWP.cpp
index f47a9d81a864..f6538c0549d0 100644
--- a/llvm/tools/llvm-dwp/DWP.cpp
+++ b/llvm/lib/DWP/DWP.cpp
@@ -10,8 +10,8 @@
 // package files).
 //
 //===----------------------------------------------------------------------===//
-#include "DWP.h"
-#include "DWPError.h"
+#include "llvm/DWP/DWP.h"
+#include "llvm/DWP/DWPError.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCObjectFileInfo.h"
 #include "llvm/MC/MCTargetOptionsCommandFlags.h"
diff --git a/llvm/tools/llvm-dwp/DWPError.cpp b/llvm/lib/DWP/DWPError.cpp
similarity index 56%
rename from llvm/tools/llvm-dwp/DWPError.cpp
rename to llvm/lib/DWP/DWPError.cpp
index 21d53ed6d198..55ef46e22d46 100644
--- a/llvm/tools/llvm-dwp/DWPError.cpp
+++ b/llvm/lib/DWP/DWPError.cpp
@@ -1,3 +1,3 @@
-#include "DWPError.h"
+#include "llvm/DWP/DWPError.h"
 using namespace llvm;
 char DWPError::ID;
diff --git a/llvm/tools/llvm-dwp/CMakeLists.txt b/llvm/tools/llvm-dwp/CMakeLists.txt
index 3bd1a5f08245..15210c422c91 100644
--- a/llvm/tools/llvm-dwp/CMakeLists.txt
+++ b/llvm/tools/llvm-dwp/CMakeLists.txt
@@ -1,20 +1,16 @@
 set(LLVM_LINK_COMPONENTS
-  AllTargetsAsmParsers
   AllTargetsCodeGens
   AllTargetsDescs
   AllTargetsInfos
-  AsmPrinter
   DebugInfoDWARF
+  DWP
   MC
   Object
   Support
-  Target
   )
 
 add_llvm_tool(llvm-dwp
   llvm-dwp.cpp
-  DWP.cpp
-  DWPError.cpp
 
   DEPENDS
   intrinsics_gen
diff --git a/llvm/tools/llvm-dwp/llvm-dwp.cpp b/llvm/tools/llvm-dwp/llvm-dwp.cpp
index 5d70d91cc800..1f583728c141 100644
--- a/llvm/tools/llvm-dwp/llvm-dwp.cpp
+++ b/llvm/tools/llvm-dwp/llvm-dwp.cpp
@@ -10,9 +10,9 @@
 // package files).
 //
 //===----------------------------------------------------------------------===//
-#include "DWP.h"
-#include "DWPError.h"
-#include "DWPStringPool.h"
+#include "llvm/DWP/DWP.h"
+#include "llvm/DWP/DWPError.h"
+#include "llvm/DWP/DWPStringPool.h"
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCCodeEmitter.h"