Index: llvm/utils/gn/secondary/BUILD.gn =================================================================== --- llvm/utils/gn/secondary/BUILD.gn +++ llvm/utils/gn/secondary/BUILD.gn @@ -1,5 +1,6 @@ group("default") { deps = [ + "//llvm/lib/LTO", "//llvm/tools/llc", "//llvm/tools/llvm-undname", ] Index: llvm/utils/gn/secondary/llvm/lib/LTO/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/LTO/BUILD.gn @@ -0,0 +1,32 @@ +static_library("LTO") { + output_name = "LLVMLTO" + deps = [ + "//llvm/include/llvm/Config:config", + "//llvm/lib/Analysis", + "//llvm/lib/Bitcode/Reader", + "//llvm/lib/Bitcode/Writer", + "//llvm/lib/CodeGen", + "//llvm/lib/IR", + "//llvm/lib/Linker", + "//llvm/lib/MC", + "//llvm/lib/Object", + "//llvm/lib/Passes", + "//llvm/lib/Support", + "//llvm/lib/Target", + "//llvm/lib/Transforms/AggressiveInstCombine", + "//llvm/lib/Transforms/IPO", + "//llvm/lib/Transforms/InstCombine", + "//llvm/lib/Transforms/ObjCARC", + "//llvm/lib/Transforms/Scalar", + "//llvm/lib/Transforms/Utils", + ] + sources = [ + "Caching.cpp", + "LTO.cpp", + "LTOBackend.cpp", + "LTOCodeGenerator.cpp", + "LTOModule.cpp", + "ThinLTOCodeGenerator.cpp", + "UpdateCompilerUsed.cpp", + ] +} Index: llvm/utils/gn/secondary/llvm/lib/Linker/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/Linker/BUILD.gn @@ -0,0 +1,12 @@ +static_library("Linker") { + output_name = "LLVMLinker" + deps = [ + "//llvm/lib/IR", + "//llvm/lib/Support", + "//llvm/lib/Transforms/Utils", + ] + sources = [ + "IRMover.cpp", + "LinkModules.cpp", + ] +} Index: llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn @@ -0,0 +1,22 @@ +static_library("Passes") { + output_name = "LLVMPasses" + deps = [ + "//llvm/lib/Analysis", + "//llvm/lib/CodeGen", + "//llvm/lib/IR", + "//llvm/lib/Support", + "//llvm/lib/Target", + "//llvm/lib/Transforms/AggressiveInstCombine", + "//llvm/lib/Transforms/IPO", + "//llvm/lib/Transforms/InstCombine", + "//llvm/lib/Transforms/Instrumentation", + "//llvm/lib/Transforms/Scalar", + "//llvm/lib/Transforms/Utils", + "//llvm/lib/Transforms/Vectorize", + ] + sources = [ + "PassBuilder.cpp", + "PassPlugin.cpp", + "StandardInstrumentations.cpp", + ] +} Index: llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn @@ -0,0 +1,58 @@ +static_library("IPO") { + output_name = "LLVMipo" + deps = [ + "//llvm/lib/Analysis", + "//llvm/lib/Bitcode/Reader", + "//llvm/lib/Bitcode/Writer", + "//llvm/lib/IR", + "//llvm/lib/IRReader", + "//llvm/lib/Linker", + "//llvm/lib/Object", + "//llvm/lib/ProfileData", + "//llvm/lib/Support", + "//llvm/lib/Transforms/AggressiveInstCombine", + "//llvm/lib/Transforms/InstCombine", + "//llvm/lib/Transforms/Instrumentation", + "//llvm/lib/Transforms/Scalar", + "//llvm/lib/Transforms/Utils", + "//llvm/lib/Transforms/Vectorize", + ] + sources = [ + "AlwaysInliner.cpp", + "ArgumentPromotion.cpp", + "BarrierNoopPass.cpp", + "BlockExtractor.cpp", + "CalledValuePropagation.cpp", + "ConstantMerge.cpp", + "CrossDSOCFI.cpp", + "DeadArgumentElimination.cpp", + "ElimAvailExtern.cpp", + "ExtractGV.cpp", + "ForceFunctionAttrs.cpp", + "FunctionAttrs.cpp", + "FunctionImport.cpp", + "GlobalDCE.cpp", + "GlobalOpt.cpp", + "GlobalSplit.cpp", + "HotColdSplitting.cpp", + "IPConstantPropagation.cpp", + "IPO.cpp", + "InferFunctionAttrs.cpp", + "InlineSimple.cpp", + "Inliner.cpp", + "Internalize.cpp", + "LoopExtractor.cpp", + "LowerTypeTests.cpp", + "MergeFunctions.cpp", + "PartialInlining.cpp", + "PassManagerBuilder.cpp", + "PruneEH.cpp", + "SCCP.cpp", + "SampleProfile.cpp", + "StripDeadPrototypes.cpp", + "StripSymbols.cpp", + "SyntheticCountsPropagation.cpp", + "ThinLTOBitcodeWriter.cpp", + "WholeProgramDevirt.cpp", + ] +} Index: llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn @@ -0,0 +1,29 @@ +static_library("Instrumentation") { + output_name = "LLVMInstrumentation" + deps = [ + "//llvm/lib/Analysis", + "//llvm/lib/IR", + "//llvm/lib/MC", + "//llvm/lib/ProfileData", + "//llvm/lib/Support", + "//llvm/lib/Transforms/Utils", + ] + sources = [ + "AddressSanitizer.cpp", + "BoundsChecking.cpp", + "CGProfile.cpp", + "ControlHeightReduction.cpp", + "DataFlowSanitizer.cpp", + "EfficiencySanitizer.cpp", + "GCOVProfiling.cpp", + "HWAddressSanitizer.cpp", + "IndirectCallPromotion.cpp", + "InstrProfiling.cpp", + "Instrumentation.cpp", + "MemorySanitizer.cpp", + "PGOInstrumentation.cpp", + "PGOMemOPSizeOpt.cpp", + "SanitizerCoverage.cpp", + "ThreadSanitizer.cpp", + ] +} Index: llvm/utils/gn/secondary/llvm/lib/Transforms/ObjCARC/BUILD.gn =================================================================== --- /dev/null +++ llvm/utils/gn/secondary/llvm/lib/Transforms/ObjCARC/BUILD.gn @@ -0,0 +1,20 @@ +static_library("ObjCARC") { + output_name = "LLVMObjCARCOpts" + deps = [ + "//llvm/lib/Analysis", + "//llvm/lib/IR", + "//llvm/lib/Support", + "//llvm/lib/Transforms/Utils", + ] + sources = [ + "DependencyAnalysis.cpp", + "ObjCARC.cpp", + "ObjCARCAPElim.cpp", + "ObjCARCContract.cpp", + "ObjCARCExpand.cpp", + "ObjCARCOpts.cpp", + "ProvenanceAnalysis.cpp", + "ProvenanceAnalysisEvaluator.cpp", + "PtrState.cpp", + ] +}