From cca08872b013e4fffbfcef7093de631bcf6b9e0b Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 2 Jul 2014 19:49:34 +0000 Subject: [PATCH] Move CFG building code to a new lib/MC/MCAnalysis library. The new library is 150KB on a Release+Asserts build, so it is quiet a bit of code that regular users of MC don't need to link with now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212209 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/{ => MCAnalysis}/MCAtom.h | 0 include/llvm/MC/{ => MCAnalysis}/MCFunction.h | 0 include/llvm/MC/{ => MCAnalysis}/MCModule.h | 0 include/llvm/MC/{ => MCAnalysis}/MCModuleYAML.h | 2 +- lib/MC/CMakeLists.txt | 7 +------ lib/MC/LLVMBuild.txt | 2 +- lib/MC/MCAnalysis/CMakeLists.txt | 8 ++++++++ lib/MC/MCAnalysis/LLVMBuild.txt | 5 +++++ lib/MC/{ => MCAnalysis}/MCAtom.cpp | 4 ++-- lib/MC/{ => MCAnalysis}/MCFunction.cpp | 6 +++--- lib/MC/{ => MCAnalysis}/MCModule.cpp | 6 +++--- lib/MC/{ => MCAnalysis}/MCModuleYAML.cpp | 6 +++--- lib/MC/{ => MCAnalysis}/MCObjectDisassembler.cpp | 6 +++--- lib/MC/{ => MCAnalysis}/MCObjectSymbolizer.cpp | 0 tools/llvm-objdump/CMakeLists.txt | 1 + tools/llvm-objdump/LLVMBuild.txt | 2 +- tools/llvm-objdump/llvm-objdump.cpp | 8 ++++---- unittests/MC/CMakeLists.txt | 8 ++------ unittests/MC/MCAtomTest.cpp | 4 ++-- unittests/MC/Makefile | 2 +- 20 files changed, 41 insertions(+), 36 deletions(-) rename include/llvm/MC/{ => MCAnalysis}/MCAtom.h (100%) rename include/llvm/MC/{ => MCAnalysis}/MCFunction.h (100%) rename include/llvm/MC/{ => MCAnalysis}/MCModule.h (100%) rename include/llvm/MC/{ => MCAnalysis}/MCModuleYAML.h (96%) create mode 100644 lib/MC/MCAnalysis/CMakeLists.txt create mode 100644 lib/MC/MCAnalysis/LLVMBuild.txt rename lib/MC/{ => MCAnalysis}/MCAtom.cpp (97%) rename lib/MC/{ => MCAnalysis}/MCFunction.cpp (94%) rename lib/MC/{ => MCAnalysis}/MCModule.cpp (97%) rename lib/MC/{ => MCAnalysis}/MCModuleYAML.cpp (99%) rename lib/MC/{ => MCAnalysis}/MCObjectDisassembler.cpp (99%) rename lib/MC/{ => MCAnalysis}/MCObjectSymbolizer.cpp (100%) diff --git a/include/llvm/MC/MCAtom.h b/include/llvm/MC/MCAnalysis/MCAtom.h similarity index 100% rename from include/llvm/MC/MCAtom.h rename to include/llvm/MC/MCAnalysis/MCAtom.h diff --git a/include/llvm/MC/MCFunction.h b/include/llvm/MC/MCAnalysis/MCFunction.h similarity index 100% rename from include/llvm/MC/MCFunction.h rename to include/llvm/MC/MCAnalysis/MCFunction.h diff --git a/include/llvm/MC/MCModule.h b/include/llvm/MC/MCAnalysis/MCModule.h similarity index 100% rename from include/llvm/MC/MCModule.h rename to include/llvm/MC/MCAnalysis/MCModule.h diff --git a/include/llvm/MC/MCModuleYAML.h b/include/llvm/MC/MCAnalysis/MCModuleYAML.h similarity index 96% rename from include/llvm/MC/MCModuleYAML.h rename to include/llvm/MC/MCAnalysis/MCModuleYAML.h index c4ae829535c..13b58a7ad64 100644 --- a/include/llvm/MC/MCModuleYAML.h +++ b/include/llvm/MC/MCAnalysis/MCModuleYAML.h @@ -17,7 +17,7 @@ #define LLVM_MC_MCMODULEYAML_H #include "llvm/ADT/StringRef.h" -#include "llvm/MC/MCModule.h" +#include "llvm/MC/MCAnalysis/MCModule.h" #include "llvm/Support/raw_ostream.h" namespace llvm { diff --git a/lib/MC/CMakeLists.txt b/lib/MC/CMakeLists.txt index 78bd8c4ba14..f62894cab39 100644 --- a/lib/MC/CMakeLists.txt +++ b/lib/MC/CMakeLists.txt @@ -8,7 +8,6 @@ add_llvm_library(LLVMMC MCAsmInfoELF.cpp MCAsmStreamer.cpp MCAssembler.cpp - MCAtom.cpp MCCodeEmitter.cpp MCCodeGenInfo.cpp MCContext.cpp @@ -17,7 +16,6 @@ add_llvm_library(LLVMMC MCELF.cpp MCELFObjectTargetWriter.cpp MCELFStreamer.cpp - MCFunction.cpp MCExpr.cpp MCExternalSymbolizer.cpp MCInst.cpp @@ -27,13 +25,9 @@ add_llvm_library(LLVMMC MCLinkerOptimizationHint.cpp MCMachOStreamer.cpp MCMachObjectTargetWriter.cpp - MCModule.cpp - MCModuleYAML.cpp MCNullStreamer.cpp MCObjectFileInfo.cpp - MCObjectDisassembler.cpp MCObjectStreamer.cpp - MCObjectSymbolizer.cpp MCObjectWriter.cpp MCRegisterInfo.cpp MCRelocationInfo.cpp @@ -54,5 +48,6 @@ add_llvm_library(LLVMMC WinCOFFStreamer.cpp ) +add_subdirectory(MCAnalysis) add_subdirectory(MCParser) add_subdirectory(MCDisassembler) diff --git a/lib/MC/LLVMBuild.txt b/lib/MC/LLVMBuild.txt index f35dbe4d5d3..da9995d6c57 100644 --- a/lib/MC/LLVMBuild.txt +++ b/lib/MC/LLVMBuild.txt @@ -16,7 +16,7 @@ ;===------------------------------------------------------------------------===; [common] -subdirectories = MCDisassembler MCParser +subdirectories = MCAnalysis MCDisassembler MCParser [component_0] type = Library diff --git a/lib/MC/MCAnalysis/CMakeLists.txt b/lib/MC/MCAnalysis/CMakeLists.txt new file mode 100644 index 00000000000..81eae2dfb15 --- /dev/null +++ b/lib/MC/MCAnalysis/CMakeLists.txt @@ -0,0 +1,8 @@ +add_llvm_library(LLVMMCAnalysis + MCAtom.cpp + MCFunction.cpp + MCModule.cpp + MCModuleYAML.cpp + MCObjectDisassembler.cpp + MCObjectSymbolizer.cpp +) diff --git a/lib/MC/MCAnalysis/LLVMBuild.txt b/lib/MC/MCAnalysis/LLVMBuild.txt new file mode 100644 index 00000000000..1b58fec6cc4 --- /dev/null +++ b/lib/MC/MCAnalysis/LLVMBuild.txt @@ -0,0 +1,5 @@ +[component_0] +type = Library +name = MCAnalysis +parent = Libraries +required_libraries = MC Object Support diff --git a/lib/MC/MCAtom.cpp b/lib/MC/MCAnalysis/MCAtom.cpp similarity index 97% rename from lib/MC/MCAtom.cpp rename to lib/MC/MCAnalysis/MCAtom.cpp index bc353cdcf65..82056eed1ea 100644 --- a/lib/MC/MCAtom.cpp +++ b/lib/MC/MCAnalysis/MCAtom.cpp @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/MCAtom.h" -#include "llvm/MC/MCModule.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCModule.h" #include "llvm/Support/ErrorHandling.h" #include diff --git a/lib/MC/MCFunction.cpp b/lib/MC/MCAnalysis/MCFunction.cpp similarity index 94% rename from lib/MC/MCFunction.cpp rename to lib/MC/MCAnalysis/MCFunction.cpp index 1ddc2505f07..4e09d1a52da 100644 --- a/lib/MC/MCFunction.cpp +++ b/lib/MC/MCAnalysis/MCFunction.cpp @@ -7,9 +7,9 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/MCFunction.h" -#include "llvm/MC/MCAtom.h" -#include "llvm/MC/MCModule.h" +#include "llvm/MC/MCAnalysis/MCFunction.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCModule.h" #include using namespace llvm; diff --git a/lib/MC/MCModule.cpp b/lib/MC/MCAnalysis/MCModule.cpp similarity index 97% rename from lib/MC/MCModule.cpp rename to lib/MC/MCAnalysis/MCModule.cpp index 3ed735689d7..7512299c9e0 100644 --- a/lib/MC/MCModule.cpp +++ b/lib/MC/MCAnalysis/MCModule.cpp @@ -7,10 +7,10 @@ // //===----------------------------------------------------------------------===// +#include "llvm/MC/MCAnalysis/MCModule.h" #include "llvm/ADT/STLExtras.h" -#include "llvm/MC/MCModule.h" -#include "llvm/MC/MCAtom.h" -#include "llvm/MC/MCFunction.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCFunction.h" #include using namespace llvm; diff --git a/lib/MC/MCModuleYAML.cpp b/lib/MC/MCAnalysis/MCModuleYAML.cpp similarity index 99% rename from lib/MC/MCModuleYAML.cpp rename to lib/MC/MCAnalysis/MCModuleYAML.cpp index f6b7431eb3b..c51c62e928d 100644 --- a/lib/MC/MCModuleYAML.cpp +++ b/lib/MC/MCAnalysis/MCModuleYAML.cpp @@ -11,10 +11,10 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/MCModuleYAML.h" +#include "llvm/MC/MCAnalysis/MCModuleYAML.h" #include "llvm/ADT/StringMap.h" -#include "llvm/MC/MCAtom.h" -#include "llvm/MC/MCFunction.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCFunction.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/MC/MCRegisterInfo.h" #include "llvm/Object/YAML.h" diff --git a/lib/MC/MCObjectDisassembler.cpp b/lib/MC/MCAnalysis/MCObjectDisassembler.cpp similarity index 99% rename from lib/MC/MCObjectDisassembler.cpp rename to lib/MC/MCAnalysis/MCObjectDisassembler.cpp index 8a258cb0909..0f789ff040f 100644 --- a/lib/MC/MCObjectDisassembler.cpp +++ b/lib/MC/MCAnalysis/MCObjectDisassembler.cpp @@ -13,11 +13,11 @@ #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Twine.h" -#include "llvm/MC/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCFunction.h" +#include "llvm/MC/MCAnalysis/MCModule.h" #include "llvm/MC/MCDisassembler.h" -#include "llvm/MC/MCFunction.h" #include "llvm/MC/MCInstrAnalysis.h" -#include "llvm/MC/MCModule.h" #include "llvm/MC/MCObjectSymbolizer.h" #include "llvm/Object/MachO.h" #include "llvm/Object/ObjectFile.h" diff --git a/lib/MC/MCObjectSymbolizer.cpp b/lib/MC/MCAnalysis/MCObjectSymbolizer.cpp similarity index 100% rename from lib/MC/MCObjectSymbolizer.cpp rename to lib/MC/MCAnalysis/MCObjectSymbolizer.cpp diff --git a/tools/llvm-objdump/CMakeLists.txt b/tools/llvm-objdump/CMakeLists.txt index 413cb9bb1f0..d63602bd018 100644 --- a/tools/llvm-objdump/CMakeLists.txt +++ b/tools/llvm-objdump/CMakeLists.txt @@ -2,6 +2,7 @@ set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} DebugInfo MC + MCAnalysis Object Support ) diff --git a/tools/llvm-objdump/LLVMBuild.txt b/tools/llvm-objdump/LLVMBuild.txt index d16c501a6cc..d9c09b60034 100644 --- a/tools/llvm-objdump/LLVMBuild.txt +++ b/tools/llvm-objdump/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Tool name = llvm-objdump parent = Tools -required_libraries = DebugInfo MC MCDisassembler MCParser Object all-targets +required_libraries = DebugInfo MC MCAnalysis MCDisassembler MCParser Object all-targets diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index d98691b4b04..309bf2369a8 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -20,17 +20,17 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCFunction.h" +#include "llvm/MC/MCAnalysis/MCModule.h" +#include "llvm/MC/MCAnalysis/MCModuleYAML.h" #include "llvm/MC/MCAsmInfo.h" -#include "llvm/MC/MCAtom.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCDisassembler.h" -#include "llvm/MC/MCFunction.h" #include "llvm/MC/MCInst.h" #include "llvm/MC/MCInstPrinter.h" #include "llvm/MC/MCInstrAnalysis.h" #include "llvm/MC/MCInstrInfo.h" -#include "llvm/MC/MCModule.h" -#include "llvm/MC/MCModuleYAML.h" #include "llvm/MC/MCObjectDisassembler.h" #include "llvm/MC/MCObjectFileInfo.h" #include "llvm/MC/MCObjectSymbolizer.h" diff --git a/unittests/MC/CMakeLists.txt b/unittests/MC/CMakeLists.txt index 0e4782c83f4..496056ecf59 100644 --- a/unittests/MC/CMakeLists.txt +++ b/unittests/MC/CMakeLists.txt @@ -1,11 +1,7 @@ set(LLVM_LINK_COMPONENTS - MC - ) - -set(MCSources - MCAtomTest.cpp + MCAnalysis ) add_llvm_unittest(MCTests - ${MCSources} + MCAtomTest.cpp ) diff --git a/unittests/MC/MCAtomTest.cpp b/unittests/MC/MCAtomTest.cpp index 17b056cd2de..16228b521f4 100644 --- a/unittests/MC/MCAtomTest.cpp +++ b/unittests/MC/MCAtomTest.cpp @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/MCAtom.h" -#include "llvm/MC/MCModule.h" +#include "llvm/MC/MCAnalysis/MCAtom.h" +#include "llvm/MC/MCAnalysis/MCModule.h" #include "gtest/gtest.h" namespace llvm { diff --git a/unittests/MC/Makefile b/unittests/MC/Makefile index 4c25697d28d..07a608e65a3 100644 --- a/unittests/MC/Makefile +++ b/unittests/MC/Makefile @@ -9,7 +9,7 @@ LEVEL = ../.. TESTNAME = MC -LINK_COMPONENTS := MC +LINK_COMPONENTS := MCAnalysis include $(LEVEL)/Makefile.config include $(LLVM_SRC_ROOT)/unittests/Makefile.unittest -- 2.34.1