[cmake] Explicitly mark libraries defined in lib/ as "Component Libraries"

Summary:
Most libraries are defined in the lib/ directory but there are also a
few libraries defined in tools/ e.g. libLLVM, libLTO.  I'm defining
"Component Libraries" as libraries defined in lib/ that may be included in
libLLVM.so.  Explicitly marking the libraries in lib/ as component
libraries allows us to remove some fragile checks that attempt to
differentiate between lib/ libraries and tools/ libraires:

1. In tools/llvm-shlib, because
llvm_map_components_to_libnames(LIB_NAMES "all") returned a list of
all libraries defined in the whole project, there was custom code
needed to filter out libraries defined in tools/, none of which should
be included in libLLVM.so.  This code assumed that any library
defined as static was from lib/ and everything else should be
excluded.

With this change, llvm_map_components_to_libnames(LIB_NAMES, "all")
only returns libraries that have been added to the LLVM_COMPONENT_LIBS
global cmake property, so this custom filtering logic can be removed.
Doing this also fixes the build with BUILD_SHARED_LIBS=ON
and LLVM_BUILD_LLVM_DYLIB=ON.

2. There was some code in llvm_add_library that assumed that
libraries defined in lib/ would not have LLVM_LINK_COMPONENTS or
ARG_LINK_COMPONENTS set.  This is only true because libraries
defined lib lib/ use LLVMBuild.txt and don't set these values.
This code has been fixed now to check if the library has been
explicitly marked as a component library, which should now make it
easier to remove LLVMBuild at some point in the future.

I have tested this patch on Windows, MacOS and Linux with release builds
and the following combinations of CMake options:

- "" (No options)
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_SHARED_LIBS=ON -DLLVM_BUILD_LLVM_DYLIB=ON
- -DBUILD_SHARED_LIBS=ON -DLLVM_LINK_LLVM_DYLIB=ON

Reviewers: beanz, smeenai, compnerd, phosek

Reviewed By: beanz

Subscribers: wuzish, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, mgorny, mehdi_amini, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, steven_wu, rogfer01, MartinMosbeck, brucehoult, the_o, dexonsmith, PkmX, jocewei, jsji, dang, Jim, lenary, s.egerton, pzheng, sameer.abuasal, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70179
diff --git a/llvm/lib/Analysis/CMakeLists.txt b/llvm/lib/Analysis/CMakeLists.txt
index 5ecc8fe..cc9ff0b 100644
--- a/llvm/lib/Analysis/CMakeLists.txt
+++ b/llvm/lib/Analysis/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAnalysis
+add_llvm_component_library(LLVMAnalysis
   AliasAnalysis.cpp
   AliasAnalysisEvaluator.cpp
   AliasAnalysisSummary.cpp
diff --git a/llvm/lib/AsmParser/CMakeLists.txt b/llvm/lib/AsmParser/CMakeLists.txt
index 0d72723..a501956 100644
--- a/llvm/lib/AsmParser/CMakeLists.txt
+++ b/llvm/lib/AsmParser/CMakeLists.txt
@@ -1,5 +1,5 @@
 # AsmParser
-add_llvm_library(LLVMAsmParser
+add_llvm_component_library(LLVMAsmParser
   LLLexer.cpp
   LLParser.cpp
   Parser.cpp
diff --git a/llvm/lib/BinaryFormat/CMakeLists.txt b/llvm/lib/BinaryFormat/CMakeLists.txt
index f8042ef..f0c1b83 100644
--- a/llvm/lib/BinaryFormat/CMakeLists.txt
+++ b/llvm/lib/BinaryFormat/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBinaryFormat
+add_llvm_component_library(LLVMBinaryFormat
   AMDGPUMetadataVerifier.cpp
   Dwarf.cpp
   Magic.cpp
diff --git a/llvm/lib/Bitcode/Reader/CMakeLists.txt b/llvm/lib/Bitcode/Reader/CMakeLists.txt
index 99190f2..0e328fe 100644
--- a/llvm/lib/Bitcode/Reader/CMakeLists.txt
+++ b/llvm/lib/Bitcode/Reader/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBitReader
+add_llvm_component_library(LLVMBitReader
   BitcodeAnalyzer.cpp
   BitReader.cpp
   BitcodeReader.cpp
diff --git a/llvm/lib/Bitcode/Writer/CMakeLists.txt b/llvm/lib/Bitcode/Writer/CMakeLists.txt
index 82dc6b2..6d1530e 100644
--- a/llvm/lib/Bitcode/Writer/CMakeLists.txt
+++ b/llvm/lib/Bitcode/Writer/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBitWriter
+add_llvm_component_library(LLVMBitWriter
   BitWriter.cpp
   BitcodeWriter.cpp
   BitcodeWriterPass.cpp
diff --git a/llvm/lib/Bitstream/Reader/CMakeLists.txt b/llvm/lib/Bitstream/Reader/CMakeLists.txt
index f91e450..3d831ec 100644
--- a/llvm/lib/Bitstream/Reader/CMakeLists.txt
+++ b/llvm/lib/Bitstream/Reader/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBitstreamReader
+add_llvm_component_library(LLVMBitstreamReader
   BitstreamReader.cpp
 
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt b/llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
index 3fb088a..1445bf4 100644
--- a/llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
+++ b/llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAsmPrinter
+add_llvm_component_library(LLVMAsmPrinter
   AccelTable.cpp
   AddressPool.cpp
   ARMException.cpp
diff --git a/llvm/lib/CodeGen/CMakeLists.txt b/llvm/lib/CodeGen/CMakeLists.txt
index b2e76e2..8875568 100644
--- a/llvm/lib/CodeGen/CMakeLists.txt
+++ b/llvm/lib/CodeGen/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMCodeGen
+add_llvm_component_library(LLVMCodeGen
   AggressiveAntiDepBreaker.cpp
   AllocationOrder.cpp
   Analysis.cpp
diff --git a/llvm/lib/CodeGen/GlobalISel/CMakeLists.txt b/llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
index 6e04fb1..5774991 100644
--- a/llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
+++ b/llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMGlobalISel
+add_llvm_component_library(LLVMGlobalISel
         CSEInfo.cpp
         GISelKnownBits.cpp
         CSEMIRBuilder.cpp
diff --git a/llvm/lib/CodeGen/MIRParser/CMakeLists.txt b/llvm/lib/CodeGen/MIRParser/CMakeLists.txt
index 2eb5b84..f44adee 100644
--- a/llvm/lib/CodeGen/MIRParser/CMakeLists.txt
+++ b/llvm/lib/CodeGen/MIRParser/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMIRParser
+add_llvm_component_library(LLVMMIRParser
   MILexer.cpp
   MIParser.cpp
   MIRParser.cpp
diff --git a/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt b/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
index fd1e5e2..56caffe 100644
--- a/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
+++ b/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMSelectionDAG
+add_llvm_component_library(LLVMSelectionDAG
   DAGCombiner.cpp
   FastISel.cpp
   FunctionLoweringInfo.cpp
diff --git a/llvm/lib/DebugInfo/CodeView/CMakeLists.txt b/llvm/lib/DebugInfo/CodeView/CMakeLists.txt
index 1610ca4..84d1cf9 100644
--- a/llvm/lib/DebugInfo/CodeView/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/CodeView/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMDebugInfoCodeView
+add_llvm_component_library(LLVMDebugInfoCodeView
   AppendingTypeTableBuilder.cpp
   CodeViewError.cpp
   CodeViewRecordIO.cpp
diff --git a/llvm/lib/DebugInfo/DWARF/CMakeLists.txt b/llvm/lib/DebugInfo/DWARF/CMakeLists.txt
index fcfb00e..3fe9904 100644
--- a/llvm/lib/DebugInfo/DWARF/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/DWARF/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMDebugInfoDWARF
+add_llvm_component_library(LLVMDebugInfoDWARF
   DWARFAbbreviationDeclaration.cpp
   DWARFAddressRange.cpp
   DWARFAcceleratorTable.cpp
diff --git a/llvm/lib/DebugInfo/GSYM/CMakeLists.txt b/llvm/lib/DebugInfo/GSYM/CMakeLists.txt
index 2369f05..632ccff 100644
--- a/llvm/lib/DebugInfo/GSYM/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/GSYM/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMDebugInfoGSYM
+add_llvm_component_library(LLVMDebugInfoGSYM
   Header.cpp
   FileWriter.cpp
   FunctionInfo.cpp
diff --git a/llvm/lib/DebugInfo/MSF/CMakeLists.txt b/llvm/lib/DebugInfo/MSF/CMakeLists.txt
index 6f38de3..828e261 100644
--- a/llvm/lib/DebugInfo/MSF/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/MSF/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMDebugInfoMSF
+add_llvm_component_library(LLVMDebugInfoMSF
   MappedBlockStream.cpp
   MSFBuilder.cpp
   MSFCommon.cpp
diff --git a/llvm/lib/DebugInfo/PDB/CMakeLists.txt b/llvm/lib/DebugInfo/PDB/CMakeLists.txt
index 0e842af..320ca78 100644
--- a/llvm/lib/DebugInfo/PDB/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/PDB/CMakeLists.txt
@@ -84,7 +84,7 @@
 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB/Native")
 list(APPEND LIBPDB_ADDITIONAL_HEADER_DIRS "${LLVM_MAIN_INCLUDE_DIR}/llvm/DebugInfo/PDB")
 
-add_llvm_library(LLVMDebugInfoPDB
+add_llvm_component_library(LLVMDebugInfoPDB
   GenericError.cpp
   IPDBSourceFile.cpp
   PDB.cpp
diff --git a/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt b/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
index fe5c4bf..79fbb14e 100644
--- a/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
+++ b/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMSymbolize
+add_llvm_component_library(LLVMSymbolize
   DIPrinter.cpp
   SymbolizableObjectFile.cpp
   Symbolize.cpp
diff --git a/llvm/lib/Demangle/CMakeLists.txt b/llvm/lib/Demangle/CMakeLists.txt
index cde1a4c..de208cd 100644
--- a/llvm/lib/Demangle/CMakeLists.txt
+++ b/llvm/lib/Demangle/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMDemangle
+add_llvm_component_library(LLVMDemangle
   Demangle.cpp
   ItaniumDemangle.cpp
   MicrosoftDemangle.cpp
diff --git a/llvm/lib/ExecutionEngine/CMakeLists.txt b/llvm/lib/ExecutionEngine/CMakeLists.txt
index c5445fb..9b5dd44 100644
--- a/llvm/lib/ExecutionEngine/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 
-add_llvm_library(LLVMExecutionEngine
+add_llvm_component_library(LLVMExecutionEngine
   ExecutionEngine.cpp
   ExecutionEngineBindings.cpp
   GDBRegistrationListener.cpp
diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
index e6c33b2..70446e3 100644
--- a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
@@ -7,7 +7,7 @@
 set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS})
 
 
-add_llvm_library(LLVMIntelJITEvents
+add_llvm_component_library(LLVMIntelJITEvents
   IntelJITEventListener.cpp
   jitprofiling.c
 
diff --git a/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt b/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
index 7456b3d..b8adea5 100644
--- a/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
@@ -6,7 +6,7 @@
   include_directories( ${FFI_INCLUDE_PATH} )
 endif()
 
-add_llvm_library(LLVMInterpreter
+add_llvm_component_library(LLVMInterpreter
   Execution.cpp
   ExternalFunctions.cpp
   Interpreter.cpp
diff --git a/llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt b/llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
index af4efad..d5a886b 100644
--- a/llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMJITLink
+add_llvm_component_library(LLVMJITLink
   JITLink.cpp
   JITLinkGeneric.cpp
   JITLinkMemoryManager.cpp
diff --git a/llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt b/llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
index b1e2bc3..77066ca 100644
--- a/llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMCJIT
+add_llvm_component_library(LLVMMCJIT
   MCJIT.cpp
 
   DEPENDS
diff --git a/llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt b/llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt
index d585136..9bbf2d6 100644
--- a/llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt
@@ -1,7 +1,7 @@
 
 include_directories( ${LLVM_OPROFILE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMOProfileJIT
+add_llvm_component_library(LLVMOProfileJIT
   OProfileJITEventListener.cpp
   OProfileWrapper.cpp
   )
diff --git a/llvm/lib/ExecutionEngine/Orc/CMakeLists.txt b/llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
index 4a18f88..e3a7a67 100644
--- a/llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMOrcJIT
+add_llvm_component_library(LLVMOrcJIT
   CompileOnDemandLayer.cpp
   CompileUtils.cpp
   Core.cpp
diff --git a/llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt b/llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
index 7273a33..bd968d5 100644
--- a/llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMOrcError
+add_llvm_component_library(LLVMOrcError
   OrcError.cpp
   RPCError.cpp
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt
index 136cc42..e0b8200 100644
--- a/llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMPerfJITEvents
+add_llvm_component_library(LLVMPerfJITEvents
   PerfJITEventListener.cpp
   )
 
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt b/llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt
index 3fa7ee6b..86a6dba 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMRuntimeDyld
+add_llvm_component_library(LLVMRuntimeDyld
   JITSymbol.cpp
   RTDyldMemoryManager.cpp
   RuntimeDyld.cpp
diff --git a/llvm/lib/FuzzMutate/CMakeLists.txt b/llvm/lib/FuzzMutate/CMakeLists.txt
index 1a1a9ab..356d5ce 100644
--- a/llvm/lib/FuzzMutate/CMakeLists.txt
+++ b/llvm/lib/FuzzMutate/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMFuzzMutate
+add_llvm_component_library(LLVMFuzzMutate
   FuzzerCLI.cpp
   IRMutator.cpp
   OpDescriptor.cpp
diff --git a/llvm/lib/IR/CMakeLists.txt b/llvm/lib/IR/CMakeLists.txt
index f53d536..b1fe5e1 100644
--- a/llvm/lib/IR/CMakeLists.txt
+++ b/llvm/lib/IR/CMakeLists.txt
@@ -2,7 +2,7 @@
 tablegen(LLVM AttributesCompatFunc.inc -gen-attrs)
 add_public_tablegen_target(AttributeCompatFuncTableGen)
 
-add_llvm_library(LLVMCore
+add_llvm_component_library(LLVMCore
   AbstractCallSite.cpp
   AsmWriter.cpp
   Attributes.cpp
diff --git a/llvm/lib/IRReader/CMakeLists.txt b/llvm/lib/IRReader/CMakeLists.txt
index 87ea880..b4ef187 100644
--- a/llvm/lib/IRReader/CMakeLists.txt
+++ b/llvm/lib/IRReader/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMIRReader
+add_llvm_component_library(LLVMIRReader
   IRReader.cpp
 
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/LTO/CMakeLists.txt b/llvm/lib/LTO/CMakeLists.txt
index 1730df6..ecafb96 100644
--- a/llvm/lib/LTO/CMakeLists.txt
+++ b/llvm/lib/LTO/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMLTO
+add_llvm_component_library(LLVMLTO
   Caching.cpp
   LTO.cpp
   LTOBackend.cpp
diff --git a/llvm/lib/LineEditor/CMakeLists.txt b/llvm/lib/LineEditor/CMakeLists.txt
index 4935c17..5919037 100644
--- a/llvm/lib/LineEditor/CMakeLists.txt
+++ b/llvm/lib/LineEditor/CMakeLists.txt
@@ -2,7 +2,7 @@
   set(link_libs edit)
 endif()
 
-add_llvm_library(LLVMLineEditor
+add_llvm_component_library(LLVMLineEditor
   LineEditor.cpp
 
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/Linker/CMakeLists.txt b/llvm/lib/Linker/CMakeLists.txt
index 8916fb3..be9d4b9 100644
--- a/llvm/lib/Linker/CMakeLists.txt
+++ b/llvm/lib/Linker/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMLinker
+add_llvm_component_library(LLVMLinker
   IRMover.cpp
   LinkModules.cpp
 
diff --git a/llvm/lib/MC/CMakeLists.txt b/llvm/lib/MC/CMakeLists.txt
index 14e965b..28423a3 100644
--- a/llvm/lib/MC/CMakeLists.txt
+++ b/llvm/lib/MC/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMC
+add_llvm_component_library(LLVMMC
   ConstantPools.cpp
   ELFObjectWriter.cpp
   MCAsmBackend.cpp
diff --git a/llvm/lib/MC/MCDisassembler/CMakeLists.txt b/llvm/lib/MC/MCDisassembler/CMakeLists.txt
index e940afc..b6fd860 100644
--- a/llvm/lib/MC/MCDisassembler/CMakeLists.txt
+++ b/llvm/lib/MC/MCDisassembler/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMCDisassembler
+add_llvm_component_library(LLVMMCDisassembler
   Disassembler.cpp
   MCDisassembler.cpp
   MCExternalSymbolizer.cpp
diff --git a/llvm/lib/MC/MCParser/CMakeLists.txt b/llvm/lib/MC/MCParser/CMakeLists.txt
index 0c54e8e..429670d 100644
--- a/llvm/lib/MC/MCParser/CMakeLists.txt
+++ b/llvm/lib/MC/MCParser/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMCParser
+add_llvm_component_library(LLVMMCParser
   AsmLexer.cpp
   AsmParser.cpp
   COFFAsmParser.cpp
diff --git a/llvm/lib/MCA/CMakeLists.txt b/llvm/lib/MCA/CMakeLists.txt
index e2eb06e..ed431cd 100644
--- a/llvm/lib/MCA/CMakeLists.txt
+++ b/llvm/lib/MCA/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMCA
+add_llvm_component_library(LLVMMCA
   CodeEmitter.cpp
   Context.cpp
   HWEventListener.cpp
diff --git a/llvm/lib/Object/CMakeLists.txt b/llvm/lib/Object/CMakeLists.txt
index 59f21e9..61888cb 100644
--- a/llvm/lib/Object/CMakeLists.txt
+++ b/llvm/lib/Object/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMObject
+add_llvm_component_library(LLVMObject
   Archive.cpp
   ArchiveWriter.cpp
   Binary.cpp
diff --git a/llvm/lib/ObjectYAML/CMakeLists.txt b/llvm/lib/ObjectYAML/CMakeLists.txt
index 434da71..bc014c1 100644
--- a/llvm/lib/ObjectYAML/CMakeLists.txt
+++ b/llvm/lib/ObjectYAML/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMObjectYAML
+add_llvm_component_library(LLVMObjectYAML
   CodeViewYAMLDebugSections.cpp
   CodeViewYAMLSymbols.cpp
   CodeViewYAMLTypeHashing.cpp
diff --git a/llvm/lib/Option/CMakeLists.txt b/llvm/lib/Option/CMakeLists.txt
index 8eb0860..258dd9a 100644
--- a/llvm/lib/Option/CMakeLists.txt
+++ b/llvm/lib/Option/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMOption
+add_llvm_component_library(LLVMOption
   Arg.cpp
   ArgList.cpp
   Option.cpp
diff --git a/llvm/lib/Passes/CMakeLists.txt b/llvm/lib/Passes/CMakeLists.txt
index d1b873c..8752159f 100644
--- a/llvm/lib/Passes/CMakeLists.txt
+++ b/llvm/lib/Passes/CMakeLists.txt
@@ -2,7 +2,7 @@
   set_source_files_properties(PassBuilder.cpp PROPERTIES COMPILE_FLAGS /bigobj)
 endif()
 
-add_llvm_library(LLVMPasses
+add_llvm_component_library(LLVMPasses
   PassBuilder.cpp
   PassPlugin.cpp
   StandardInstrumentations.cpp
diff --git a/llvm/lib/ProfileData/CMakeLists.txt b/llvm/lib/ProfileData/CMakeLists.txt
index 3a981d8..93eff29 100644
--- a/llvm/lib/ProfileData/CMakeLists.txt
+++ b/llvm/lib/ProfileData/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMProfileData
+add_llvm_component_library(LLVMProfileData
   GCOV.cpp
   InstrProf.cpp
   InstrProfReader.cpp
diff --git a/llvm/lib/ProfileData/Coverage/CMakeLists.txt b/llvm/lib/ProfileData/Coverage/CMakeLists.txt
index 035b8fd..db2f87c 100644
--- a/llvm/lib/ProfileData/Coverage/CMakeLists.txt
+++ b/llvm/lib/ProfileData/Coverage/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMCoverage
+add_llvm_component_library(LLVMCoverage
   CoverageMapping.cpp
   CoverageMappingWriter.cpp
   CoverageMappingReader.cpp
diff --git a/llvm/lib/Remarks/CMakeLists.txt b/llvm/lib/Remarks/CMakeLists.txt
index db84d63..c0e67f6 100644
--- a/llvm/lib/Remarks/CMakeLists.txt
+++ b/llvm/lib/Remarks/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMRemarks
+add_llvm_component_library(LLVMRemarks
   BitstreamRemarkParser.cpp
   BitstreamRemarkSerializer.cpp
   Remark.cpp
diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
index 824ceec..ddc4d23 100644
--- a/llvm/lib/Support/CMakeLists.txt
+++ b/llvm/lib/Support/CMakeLists.txt
@@ -51,7 +51,7 @@
   set(Z3_LINK_FILES "")
 endif()
 
-add_llvm_library(LLVMSupport
+add_llvm_component_library(LLVMSupport
   AArch64TargetParser.cpp
   ABIBreak.cpp
   ARMTargetParser.cpp
diff --git a/llvm/lib/TableGen/CMakeLists.txt b/llvm/lib/TableGen/CMakeLists.txt
index e7bb0ad..1ece814 100644
--- a/llvm/lib/TableGen/CMakeLists.txt
+++ b/llvm/lib/TableGen/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMTableGen
+add_llvm_component_library(LLVMTableGen
   Error.cpp
   JSONBackend.cpp
   Main.cpp
diff --git a/llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt b/llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt
index cc0a9d8..d4e9d89 100644
--- a/llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMAArch64AsmParser
+add_llvm_component_library(LLVMAArch64AsmParser
   AArch64AsmParser.cpp
   )
 
diff --git a/llvm/lib/Target/AArch64/Disassembler/CMakeLists.txt b/llvm/lib/Target/AArch64/Disassembler/CMakeLists.txt
index d64c05b..3a307f9 100644
--- a/llvm/lib/Target/AArch64/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/Disassembler/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMAArch64Disassembler
+add_llvm_component_library(LLVMAArch64Disassembler
   AArch64Disassembler.cpp
   AArch64ExternalSymbolizer.cpp
   )
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
index 05d7e8d..099e694 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAArch64Desc
+add_llvm_component_library(LLVMAArch64Desc
   AArch64AsmBackend.cpp
   AArch64ELFObjectWriter.cpp
   AArch64ELFStreamer.cpp
diff --git a/llvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt b/llvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt
index e236eed..e1c2398 100644
--- a/llvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMAArch64Info
+add_llvm_component_library(LLVMAArch64Info
   AArch64TargetInfo.cpp
   )
 
diff --git a/llvm/lib/Target/AArch64/Utils/CMakeLists.txt b/llvm/lib/Target/AArch64/Utils/CMakeLists.txt
index 8ee03a7..5897f9d 100644
--- a/llvm/lib/Target/AArch64/Utils/CMakeLists.txt
+++ b/llvm/lib/Target/AArch64/Utils/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMAArch64Utils
+add_llvm_component_library(LLVMAArch64Utils
   AArch64BaseInfo.cpp
   )
diff --git a/llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt b/llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
index 70be7bb..e33b4b1 100644
--- a/llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAMDGPUAsmParser
+add_llvm_component_library(LLVMAMDGPUAsmParser
   AMDGPUAsmParser.cpp
   )
 
diff --git a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
index fb92315..21e2dd6 100644
--- a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMAMDGPUDisassembler
+add_llvm_component_library(LLVMAMDGPUDisassembler
   AMDGPUDisassembler.cpp
   )
 
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
index c4d370b..6e01150 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAMDGPUDesc
+add_llvm_component_library(LLVMAMDGPUDesc
   AMDGPUAsmBackend.cpp
   AMDGPUELFObjectWriter.cpp
   AMDGPUELFStreamer.cpp
diff --git a/llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt b/llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt
index 961dc55..6003accc 100644
--- a/llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMAMDGPUInfo
+add_llvm_component_library(LLVMAMDGPUInfo
   AMDGPUTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt b/llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
index 893e1fb..9a5bbd8 100644
--- a/llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
+++ b/llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAMDGPUUtils
+add_llvm_component_library(LLVMAMDGPUUtils
   AMDGPUBaseInfo.cpp
   AMDKernelCodeTUtils.cpp
   AMDGPUAsmUtils.cpp
diff --git a/llvm/lib/Target/ARC/Disassembler/CMakeLists.txt b/llvm/lib/Target/ARC/Disassembler/CMakeLists.txt
index b692c4b..970ccc7 100644
--- a/llvm/lib/Target/ARC/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/ARC/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARCDisassembler
+add_llvm_component_library(LLVMARCDisassembler
   ARCDisassembler.cpp
   )
diff --git a/llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt
index 108fb93..c356da9 100644
--- a/llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMARCDesc
+add_llvm_component_library(LLVMARCDesc
   ARCInstPrinter.cpp
   ARCMCTargetDesc.cpp
   ARCMCAsmInfo.cpp
diff --git a/llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt b/llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt
index 5f9b405..59018be 100644
--- a/llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARCInfo
+add_llvm_component_library(LLVMARCInfo
   ARCTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/ARM/AsmParser/CMakeLists.txt b/llvm/lib/Target/ARM/AsmParser/CMakeLists.txt
index 66ed1df..3777bcc 100644
--- a/llvm/lib/Target/ARM/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/ARM/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARMAsmParser
+add_llvm_component_library(LLVMARMAsmParser
   ARMAsmParser.cpp
   )
diff --git a/llvm/lib/Target/ARM/Disassembler/CMakeLists.txt b/llvm/lib/Target/ARM/Disassembler/CMakeLists.txt
index 2d9d534..dc2b130 100644
--- a/llvm/lib/Target/ARM/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/ARM/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARMDisassembler
+add_llvm_component_library(LLVMARMDisassembler
   ARMDisassembler.cpp
   )
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
index 14a63958..ca48217 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMARMDesc
+add_llvm_component_library(LLVMARMDesc
   ARMAsmBackend.cpp
   ARMELFObjectWriter.cpp
   ARMELFStreamer.cpp
diff --git a/llvm/lib/Target/ARM/TargetInfo/CMakeLists.txt b/llvm/lib/Target/ARM/TargetInfo/CMakeLists.txt
index 03393a0..8492e60 100644
--- a/llvm/lib/Target/ARM/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/ARM/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARMInfo
+add_llvm_component_library(LLVMARMInfo
   ARMTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/ARM/Utils/CMakeLists.txt b/llvm/lib/Target/ARM/Utils/CMakeLists.txt
index 61bfe0a..d5b71dc 100644
--- a/llvm/lib/Target/ARM/Utils/CMakeLists.txt
+++ b/llvm/lib/Target/ARM/Utils/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMARMUtils
+add_llvm_component_library(LLVMARMUtils
   ARMBaseInfo.cpp
   )
diff --git a/llvm/lib/Target/AVR/AsmParser/CMakeLists.txt b/llvm/lib/Target/AVR/AsmParser/CMakeLists.txt
index 4ec01a6..9ffba49 100644
--- a/llvm/lib/Target/AVR/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/AVR/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMAVRAsmParser
+add_llvm_component_library(LLVMAVRAsmParser
   AVRAsmParser.cpp
 )
diff --git a/llvm/lib/Target/AVR/Disassembler/CMakeLists.txt b/llvm/lib/Target/AVR/Disassembler/CMakeLists.txt
index cfce8b7..cbf4537 100644
--- a/llvm/lib/Target/AVR/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/AVR/Disassembler/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAVRDisassembler
+add_llvm_component_library(LLVMAVRDisassembler
   AVRDisassembler.cpp
 )
 
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt
index 04a5bbc..417ff67 100644
--- a/llvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAVRDesc
+add_llvm_component_library(LLVMAVRDesc
   AVRAsmBackend.cpp
   AVRELFObjectWriter.cpp
   AVRELFStreamer.cpp
diff --git a/llvm/lib/Target/AVR/TargetInfo/CMakeLists.txt b/llvm/lib/Target/AVR/TargetInfo/CMakeLists.txt
index 557c55a..75fb77c 100644
--- a/llvm/lib/Target/AVR/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/AVR/TargetInfo/CMakeLists.txt
@@ -1,7 +1,7 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/..
                      ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMAVRInfo
+add_llvm_component_library(LLVMAVRInfo
   AVRTargetInfo.cpp
 )
 
diff --git a/llvm/lib/Target/BPF/AsmParser/CMakeLists.txt b/llvm/lib/Target/BPF/AsmParser/CMakeLists.txt
index 22fb4f0..e34fe08 100644
--- a/llvm/lib/Target/BPF/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/BPF/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMBPFAsmParser
+add_llvm_component_library(LLVMBPFAsmParser
   BPFAsmParser.cpp
   )
diff --git a/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt b/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
index c6dd1b3..e8f8f0d 100644
--- a/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/BPF/Disassembler/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBPFDisassembler
+add_llvm_component_library(LLVMBPFDisassembler
   BPFDisassembler.cpp
 )
 
diff --git a/llvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt
index 44f3dbf..a306247 100644
--- a/llvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMBPFDesc
+add_llvm_component_library(LLVMBPFDesc
   BPFMCTargetDesc.cpp
   BPFAsmBackend.cpp
   BPFInstPrinter.cpp
diff --git a/llvm/lib/Target/BPF/TargetInfo/CMakeLists.txt b/llvm/lib/Target/BPF/TargetInfo/CMakeLists.txt
index ca08846..d955f31 100644
--- a/llvm/lib/Target/BPF/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/BPF/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMBPFInfo
+add_llvm_component_library(LLVMBPFInfo
   BPFTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/CMakeLists.txt b/llvm/lib/Target/CMakeLists.txt
index 1e6abfa..a17bb1e 100644
--- a/llvm/lib/Target/CMakeLists.txt
+++ b/llvm/lib/Target/CMakeLists.txt
@@ -2,7 +2,7 @@
 
 list(APPEND LLVM_TABLEGEN_FLAGS -I ${LLVM_MAIN_SRC_DIR}/lib/Target)
 
-add_llvm_library(LLVMTarget
+add_llvm_component_library(LLVMTarget
   Target.cpp
   TargetIntrinsicInfo.cpp
   TargetLoweringObjectFile.cpp
diff --git a/llvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt b/llvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt
index bbfa92d..fa3cb2d 100644
--- a/llvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMHexagonAsmParser
+add_llvm_component_library(LLVMHexagonAsmParser
   HexagonAsmParser.cpp
   )
 
diff --git a/llvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt b/llvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt
index 755a45e..0f2e0bc 100644
--- a/llvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMHexagonDisassembler
+add_llvm_component_library(LLVMHexagonDisassembler
   HexagonDisassembler.cpp
   )
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt
index 2c5d0da..a6a12ed 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMHexagonDesc
+add_llvm_component_library(LLVMHexagonDesc
   HexagonAsmBackend.cpp
   HexagonELFObjectWriter.cpp
   HexagonInstPrinter.cpp
diff --git a/llvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt b/llvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt
index b9411f6..14d5eb4 100644
--- a/llvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMHexagonInfo
+add_llvm_component_library(LLVMHexagonInfo
   HexagonTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt b/llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt
index 3c88192..9c3b17d 100644
--- a/llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMLanaiAsmParser
+add_llvm_component_library(LLVMLanaiAsmParser
   LanaiAsmParser.cpp
   )
 
diff --git a/llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt b/llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt
index 785c98d..3be5d4d 100644
--- a/llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMLanaiDisassembler
+add_llvm_component_library(LLVMLanaiDisassembler
   LanaiDisassembler.cpp
   )
diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
index 2f1a60b..64a3623 100644
--- a/llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMLanaiDesc
+add_llvm_component_library(LLVMLanaiDesc
   LanaiAsmBackend.cpp
   LanaiELFObjectWriter.cpp
   LanaiInstPrinter.cpp
diff --git a/llvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt b/llvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt
index 01611b5..26bd585 100644
--- a/llvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMLanaiInfo
+add_llvm_component_library(LLVMLanaiInfo
   LanaiTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt b/llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt
index bb48489..f87e76c 100644
--- a/llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMSP430AsmParser
+add_llvm_component_library(LLVMMSP430AsmParser
   MSP430AsmParser.cpp
 )
diff --git a/llvm/lib/Target/MSP430/Disassembler/CMakeLists.txt b/llvm/lib/Target/MSP430/Disassembler/CMakeLists.txt
index bc33b90..42dea5d 100644
--- a/llvm/lib/Target/MSP430/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/MSP430/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMSP430Disassembler
+add_llvm_component_library(LLVMMSP430Disassembler
   MSP430Disassembler.cpp
   )
diff --git a/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
index b3edd49..22b6ec6 100644
--- a/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMSP430Desc
+add_llvm_component_library(LLVMMSP430Desc
   MSP430AsmBackend.cpp
   MSP430ELFObjectWriter.cpp
   MSP430ELFStreamer.cpp
diff --git a/llvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt b/llvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt
index fee5f43..369ca8d 100644
--- a/llvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMSP430Info
+add_llvm_component_library(LLVMMSP430Info
   MSP430TargetInfo.cpp
   )
diff --git a/llvm/lib/Target/Mips/AsmParser/CMakeLists.txt b/llvm/lib/Target/Mips/AsmParser/CMakeLists.txt
index f167556..e21bd7b 100644
--- a/llvm/lib/Target/Mips/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/Mips/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMipsAsmParser
+add_llvm_component_library(LLVMMipsAsmParser
   MipsAsmParser.cpp
   )
diff --git a/llvm/lib/Target/Mips/Disassembler/CMakeLists.txt b/llvm/lib/Target/Mips/Disassembler/CMakeLists.txt
index a64d02c..7de3f26 100644
--- a/llvm/lib/Target/Mips/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/Mips/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMipsDisassembler
+add_llvm_component_library(LLVMMipsDisassembler
   MipsDisassembler.cpp
   )
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
index 043d41e..10e2e93 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMMipsDesc
+add_llvm_component_library(LLVMMipsDesc
   MipsABIInfo.cpp
   MipsABIFlagsSection.cpp
   MipsAsmBackend.cpp
diff --git a/llvm/lib/Target/Mips/TargetInfo/CMakeLists.txt b/llvm/lib/Target/Mips/TargetInfo/CMakeLists.txt
index 3347a99..93565ea 100644
--- a/llvm/lib/Target/Mips/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/Mips/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMMipsInfo
+add_llvm_component_library(LLVMMipsInfo
   MipsTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt
index 2934364..c80e7ac 100644
--- a/llvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMNVPTXDesc
+add_llvm_component_library(LLVMNVPTXDesc
   NVPTXInstPrinter.cpp
   NVPTXMCAsmInfo.cpp
   NVPTXMCTargetDesc.cpp
diff --git a/llvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt b/llvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt
index 1beb40e..f9bfd97 100644
--- a/llvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMNVPTXInfo
+add_llvm_component_library(LLVMNVPTXInfo
   NVPTXTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt b/llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt
index 408858e4..6328c4c 100644
--- a/llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMPowerPCAsmParser
+add_llvm_component_library(LLVMPowerPCAsmParser
   PPCAsmParser.cpp
   )
diff --git a/llvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt b/llvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt
index ca457df..37e5a55 100644
--- a/llvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMPowerPCDisassembler
+add_llvm_component_library(LLVMPowerPCDisassembler
   PPCDisassembler.cpp
   )
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
index 5a2f605..4bc9f2a 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMPowerPCDesc
+add_llvm_component_library(LLVMPowerPCDesc
   PPCAsmBackend.cpp
   PPCInstPrinter.cpp
   PPCMCTargetDesc.cpp
diff --git a/llvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt b/llvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt
index c9548c7..3200a75 100644
--- a/llvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMPowerPCInfo
+add_llvm_component_library(LLVMPowerPCInfo
   PowerPCTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/RISCV/AsmParser/CMakeLists.txt b/llvm/lib/Target/RISCV/AsmParser/CMakeLists.txt
index 10d0c89..a0f54d1 100644
--- a/llvm/lib/Target/RISCV/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/RISCV/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMRISCVAsmParser
+add_llvm_component_library(LLVMRISCVAsmParser
   RISCVAsmParser.cpp
   )
diff --git a/llvm/lib/Target/RISCV/Disassembler/CMakeLists.txt b/llvm/lib/Target/RISCV/Disassembler/CMakeLists.txt
index 39bd2b7..df2fce6 100644
--- a/llvm/lib/Target/RISCV/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/RISCV/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMRISCVDisassembler
+add_llvm_component_library(LLVMRISCVDisassembler
   RISCVDisassembler.cpp
   )
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
index a55d273..df2d15d 100644
--- a/llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMRISCVDesc
+add_llvm_component_library(LLVMRISCVDesc
   RISCVAsmBackend.cpp
   RISCVELFObjectWriter.cpp
   RISCVInstPrinter.cpp
diff --git a/llvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt b/llvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt
index f440fe2..7768678 100644
--- a/llvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMRISCVInfo
+add_llvm_component_library(LLVMRISCVInfo
   RISCVTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/RISCV/Utils/CMakeLists.txt b/llvm/lib/Target/RISCV/Utils/CMakeLists.txt
index 727ab4a..b1f73ab 100644
--- a/llvm/lib/Target/RISCV/Utils/CMakeLists.txt
+++ b/llvm/lib/Target/RISCV/Utils/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMRISCVUtils
+add_llvm_component_library(LLVMRISCVUtils
   RISCVBaseInfo.cpp
   RISCVMatInt.cpp
   )
diff --git a/llvm/lib/Target/Sparc/AsmParser/CMakeLists.txt b/llvm/lib/Target/Sparc/AsmParser/CMakeLists.txt
index 7579bfe..cf8f96b 100644
--- a/llvm/lib/Target/Sparc/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/Sparc/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSparcAsmParser
+add_llvm_component_library(LLVMSparcAsmParser
   SparcAsmParser.cpp
   )
diff --git a/llvm/lib/Target/Sparc/Disassembler/CMakeLists.txt b/llvm/lib/Target/Sparc/Disassembler/CMakeLists.txt
index 7359c6a..b891334 100644
--- a/llvm/lib/Target/Sparc/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/Sparc/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSparcDisassembler
+add_llvm_component_library(LLVMSparcDisassembler
   SparcDisassembler.cpp
   )
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
index 037099d..311f374 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMSparcDesc
+add_llvm_component_library(LLVMSparcDesc
   SparcAsmBackend.cpp
   SparcELFObjectWriter.cpp
   SparcInstPrinter.cpp
diff --git a/llvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt b/llvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt
index 9633e03..42cbe00 100644
--- a/llvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSparcInfo
+add_llvm_component_library(LLVMSparcInfo
   SparcTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt b/llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt
index ad19a56..39e3d72 100644
--- a/llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSystemZAsmParser
+add_llvm_component_library(LLVMSystemZAsmParser
   SystemZAsmParser.cpp
   )
diff --git a/llvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt b/llvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt
index 4b94bcd..102b53d 100644
--- a/llvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSystemZDisassembler
+add_llvm_component_library(LLVMSystemZDisassembler
   SystemZDisassembler.cpp
   )
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
index cb38b0d..74ede98 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMSystemZDesc
+add_llvm_component_library(LLVMSystemZDesc
   SystemZInstPrinter.cpp
   SystemZMCAsmBackend.cpp
   SystemZMCAsmInfo.cpp
diff --git a/llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt b/llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt
index 1ebc669..a3e4042 100644
--- a/llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMSystemZInfo
+add_llvm_component_library(LLVMSystemZInfo
   SystemZTargetInfo.cpp
   )
diff --git a/llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt b/llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt
index bd4741d..53cdfeb 100644
--- a/llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMWebAssemblyAsmParser
+add_llvm_component_library(LLVMWebAssemblyAsmParser
   WebAssemblyAsmParser.cpp
   )
diff --git a/llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt b/llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt
index 5e55e29..9b71c10 100644
--- a/llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMWebAssemblyDisassembler
+add_llvm_component_library(LLVMWebAssemblyDisassembler
   WebAssemblyDisassembler.cpp
   )
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
index 58a8ee6..2e39e47 100644
--- a/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMWebAssemblyDesc
+add_llvm_component_library(LLVMWebAssemblyDesc
   WebAssemblyAsmBackend.cpp
   WebAssemblyInstPrinter.cpp
   WebAssemblyMCAsmInfo.cpp
diff --git a/llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt b/llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt
index ef6e4d2..1a13e2e 100644
--- a/llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt
@@ -1,6 +1,6 @@
 include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
 
-add_llvm_library(LLVMWebAssemblyInfo
+add_llvm_component_library(LLVMWebAssemblyInfo
   WebAssemblyTargetInfo.cpp
   )
 
diff --git a/llvm/lib/Target/X86/AsmParser/CMakeLists.txt b/llvm/lib/Target/X86/AsmParser/CMakeLists.txt
index 1454426..e5cd6ac 100644
--- a/llvm/lib/Target/X86/AsmParser/CMakeLists.txt
+++ b/llvm/lib/Target/X86/AsmParser/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMX86AsmParser
+add_llvm_component_library(LLVMX86AsmParser
   X86AsmParser.cpp
   )
diff --git a/llvm/lib/Target/X86/Disassembler/CMakeLists.txt b/llvm/lib/Target/X86/Disassembler/CMakeLists.txt
index 4370282..6582ff0 100644
--- a/llvm/lib/Target/X86/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/X86/Disassembler/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMX86Disassembler
+add_llvm_component_library(LLVMX86Disassembler
   X86Disassembler.cpp
   X86DisassemblerDecoder.cpp
   )
diff --git a/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
index 18b6d00..e9f675e 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMX86Desc
+add_llvm_component_library(LLVMX86Desc
   X86ATTInstPrinter.cpp
   X86IntelInstPrinter.cpp
   X86InstComments.cpp
diff --git a/llvm/lib/Target/X86/TargetInfo/CMakeLists.txt b/llvm/lib/Target/X86/TargetInfo/CMakeLists.txt
index 1d8a8c1..e51facd 100644
--- a/llvm/lib/Target/X86/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/X86/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMX86Info
+add_llvm_component_library(LLVMX86Info
   X86TargetInfo.cpp
   )
diff --git a/llvm/lib/Target/X86/Utils/CMakeLists.txt b/llvm/lib/Target/X86/Utils/CMakeLists.txt
index b269746..f32ead3 100644
--- a/llvm/lib/Target/X86/Utils/CMakeLists.txt
+++ b/llvm/lib/Target/X86/Utils/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMX86Utils
+add_llvm_component_library(LLVMX86Utils
   X86ShuffleDecode.cpp
   )
diff --git a/llvm/lib/Target/XCore/Disassembler/CMakeLists.txt b/llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
index 1ed10c0..1cded7b 100644
--- a/llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
+++ b/llvm/lib/Target/XCore/Disassembler/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMXCoreDisassembler
+add_llvm_component_library(LLVMXCoreDisassembler
   XCoreDisassembler.cpp
   )
diff --git a/llvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt
index b2ff321..94dc178 100644
--- a/llvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt
+++ b/llvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMXCoreDesc
+add_llvm_component_library(LLVMXCoreDesc
   XCoreInstPrinter.cpp
   XCoreMCTargetDesc.cpp
   XCoreMCAsmInfo.cpp
diff --git a/llvm/lib/Target/XCore/TargetInfo/CMakeLists.txt b/llvm/lib/Target/XCore/TargetInfo/CMakeLists.txt
index 462f2d4..a041def 100644
--- a/llvm/lib/Target/XCore/TargetInfo/CMakeLists.txt
+++ b/llvm/lib/Target/XCore/TargetInfo/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_llvm_library(LLVMXCoreInfo
+add_llvm_component_library(LLVMXCoreInfo
   XCoreTargetInfo.cpp
   )
diff --git a/llvm/lib/TextAPI/CMakeLists.txt b/llvm/lib/TextAPI/CMakeLists.txt
index d959fb9..6093e15 100644
--- a/llvm/lib/TextAPI/CMakeLists.txt
+++ b/llvm/lib/TextAPI/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMTextAPI
+add_llvm_component_library(LLVMTextAPI
   ELF/ELFStub.cpp
   ELF/TBEHandler.cpp
   MachO/Architecture.cpp
diff --git a/llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt b/llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
index 52bd5cba..fb3ac8a 100644
--- a/llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
+++ b/llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
@@ -2,7 +2,7 @@
 tablegen(LLVM Options.inc -gen-opt-parser-defs)
 add_public_tablegen_target(DllOptionsTableGen)
 
-add_llvm_library(LLVMDlltoolDriver
+add_llvm_component_library(LLVMDlltoolDriver
   DlltoolDriver.cpp
   )
 
diff --git a/llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt b/llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt
index 3d948aa..a6ba436 100644
--- a/llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt
+++ b/llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt
@@ -10,7 +10,7 @@
 tablegen(LLVM Options.inc -gen-opt-parser-defs)
 add_public_tablegen_target(LibOptionsTableGen)
 
-add_llvm_library(LLVMLibDriver
+add_llvm_component_library(LLVMLibDriver
   LibDriver.cpp
 
   DEPENDS
diff --git a/llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt b/llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt
index 3863148..10686d4 100644
--- a/llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt
+++ b/llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMAggressiveInstCombine
+add_llvm_component_library(LLVMAggressiveInstCombine
   AggressiveInstCombine.cpp
   TruncInstCombine.cpp
 
diff --git a/llvm/lib/Transforms/CFGuard/CMakeLists.txt b/llvm/lib/Transforms/CFGuard/CMakeLists.txt
index b751801..d1c0203 100644
--- a/llvm/lib/Transforms/CFGuard/CMakeLists.txt
+++ b/llvm/lib/Transforms/CFGuard/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMCFGuard
+add_llvm_component_library(LLVMCFGuard
   CFGuard.cpp
 
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/Transforms/Coroutines/CMakeLists.txt b/llvm/lib/Transforms/Coroutines/CMakeLists.txt
index 80a052a..c1f6d6c 100644
--- a/llvm/lib/Transforms/Coroutines/CMakeLists.txt
+++ b/llvm/lib/Transforms/Coroutines/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMCoroutines
+add_llvm_component_library(LLVMCoroutines
   Coroutines.cpp
   CoroCleanup.cpp
   CoroEarly.cpp
diff --git a/llvm/lib/Transforms/IPO/CMakeLists.txt b/llvm/lib/Transforms/IPO/CMakeLists.txt
index f1e40b8..375d2fb 100644
--- a/llvm/lib/Transforms/IPO/CMakeLists.txt
+++ b/llvm/lib/Transforms/IPO/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMipo
+add_llvm_component_library(LLVMipo
   AlwaysInliner.cpp
   ArgumentPromotion.cpp
   Attributor.cpp
diff --git a/llvm/lib/Transforms/InstCombine/CMakeLists.txt b/llvm/lib/Transforms/InstCombine/CMakeLists.txt
index bba399b..2f19882 100644
--- a/llvm/lib/Transforms/InstCombine/CMakeLists.txt
+++ b/llvm/lib/Transforms/InstCombine/CMakeLists.txt
@@ -2,7 +2,7 @@
 tablegen(LLVM InstCombineTables.inc -gen-searchable-tables)
 add_public_tablegen_target(InstCombineTableGen)
 
-add_llvm_library(LLVMInstCombine
+add_llvm_component_library(LLVMInstCombine
   InstructionCombining.cpp
   InstCombineAddSub.cpp
   InstCombineAtomicRMW.cpp
diff --git a/llvm/lib/Transforms/Instrumentation/CMakeLists.txt b/llvm/lib/Transforms/Instrumentation/CMakeLists.txt
index 22190ad..9316de4 100644
--- a/llvm/lib/Transforms/Instrumentation/CMakeLists.txt
+++ b/llvm/lib/Transforms/Instrumentation/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMInstrumentation
+add_llvm_component_library(LLVMInstrumentation
   AddressSanitizer.cpp
   BoundsChecking.cpp
   CGProfile.cpp
diff --git a/llvm/lib/Transforms/ObjCARC/CMakeLists.txt b/llvm/lib/Transforms/ObjCARC/CMakeLists.txt
index 114471e..774f150 100644
--- a/llvm/lib/Transforms/ObjCARC/CMakeLists.txt
+++ b/llvm/lib/Transforms/ObjCARC/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMObjCARCOpts
+add_llvm_component_library(LLVMObjCARCOpts
   ObjCARC.cpp
   ObjCARCOpts.cpp
   ObjCARCExpand.cpp
diff --git a/llvm/lib/Transforms/Scalar/CMakeLists.txt b/llvm/lib/Transforms/Scalar/CMakeLists.txt
index 89c2fae..7e51e85 100644
--- a/llvm/lib/Transforms/Scalar/CMakeLists.txt
+++ b/llvm/lib/Transforms/Scalar/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMScalarOpts
+add_llvm_component_library(LLVMScalarOpts
   ADCE.cpp
   AlignmentFromAssumptions.cpp
   BDCE.cpp
diff --git a/llvm/lib/Transforms/Utils/CMakeLists.txt b/llvm/lib/Transforms/Utils/CMakeLists.txt
index dd2661a..254662a 100644
--- a/llvm/lib/Transforms/Utils/CMakeLists.txt
+++ b/llvm/lib/Transforms/Utils/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMTransformUtils
+add_llvm_component_library(LLVMTransformUtils
   ASanStackFrameLayout.cpp
   AddDiscriminators.cpp
   BasicBlockUtils.cpp
diff --git a/llvm/lib/Transforms/Vectorize/CMakeLists.txt b/llvm/lib/Transforms/Vectorize/CMakeLists.txt
index f6bd97c..801b23c 100644
--- a/llvm/lib/Transforms/Vectorize/CMakeLists.txt
+++ b/llvm/lib/Transforms/Vectorize/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMVectorize
+add_llvm_component_library(LLVMVectorize
   LoadStoreVectorizer.cpp
   LoopVectorizationLegality.cpp
   LoopVectorize.cpp
diff --git a/llvm/lib/WindowsManifest/CMakeLists.txt b/llvm/lib/WindowsManifest/CMakeLists.txt
index 1830179..4f2d011 100644
--- a/llvm/lib/WindowsManifest/CMakeLists.txt
+++ b/llvm/lib/WindowsManifest/CMakeLists.txt
@@ -5,7 +5,7 @@
   endif()
 endif()
 
-add_llvm_library(LLVMWindowsManifest
+add_llvm_component_library(LLVMWindowsManifest
   WindowsManifestMerger.cpp
 
   ADDITIONAL_HEADER_DIRS
diff --git a/llvm/lib/XRay/CMakeLists.txt b/llvm/lib/XRay/CMakeLists.txt
index 84d2914..e56cf4a 100644
--- a/llvm/lib/XRay/CMakeLists.txt
+++ b/llvm/lib/XRay/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_llvm_library(LLVMXRay
+add_llvm_component_library(LLVMXRay
   BlockIndexer.cpp
   BlockPrinter.cpp
   BlockVerifier.cpp