Add WITH_/WITHOUT_LLD knobs to enable the lld linker
Use this to control inclusion of the libllvm functionality required by lld. Enable by default on arm64 and amd64, the two platforms where lld is most usable for testing. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7713
This commit is contained in:
parent
698f1e9f8e
commit
26ebe61d5c
@ -468,12 +468,12 @@ SRCS_MIN+= IR/ValueSymbolTable.cpp
|
||||
SRCS_MIN+= IR/ValueTypes.cpp
|
||||
SRCS_MIN+= IR/Verifier.cpp
|
||||
SRCS_MIN+= IRReader/IRReader.cpp
|
||||
SRCS_EXT+= LTO/LTO.cpp
|
||||
SRCS_EXT+= LTO/LTOCodeGenerator.cpp
|
||||
SRCS_EXT+= LTO/LTOModule.cpp
|
||||
SRCS_EXT+= LTO/ThinLTOCodeGenerator.cpp
|
||||
SRCS_EXT+= LTO/UpdateCompilerUsed.cpp
|
||||
SRCS_EXT+= LibDriver/LibDriver.cpp
|
||||
SRCS_EXL+= LTO/LTO.cpp
|
||||
SRCS_EXL+= LTO/LTOCodeGenerator.cpp
|
||||
SRCS_EXL+= LTO/LTOModule.cpp
|
||||
SRCS_EXL+= LTO/ThinLTOCodeGenerator.cpp
|
||||
SRCS_EXL+= LTO/UpdateCompilerUsed.cpp
|
||||
SRCS_EXL+= LibDriver/LibDriver.cpp
|
||||
SRCS_MIN+= LineEditor/LineEditor.cpp
|
||||
SRCS_MIN+= Linker/IRMover.cpp
|
||||
SRCS_MIN+= Linker/LinkModules.cpp
|
||||
@ -489,11 +489,11 @@ SRCS_MIN+= MC/MCAssembler.cpp
|
||||
SRCS_MIN+= MC/MCCodeEmitter.cpp
|
||||
SRCS_MIN+= MC/MCCodeView.cpp
|
||||
SRCS_MIN+= MC/MCContext.cpp
|
||||
SRCS_XDB+= MC/MCDisassembler/Disassembler.cpp
|
||||
SRCS_XDB+= MC/MCDisassembler/MCDisassembler.cpp
|
||||
SRCS_XDB+= MC/MCDisassembler/MCExternalSymbolizer.cpp
|
||||
SRCS_XDL+= MC/MCDisassembler/Disassembler.cpp
|
||||
SRCS_XDL+= MC/MCDisassembler/MCDisassembler.cpp
|
||||
SRCS_XDL+= MC/MCDisassembler/MCExternalSymbolizer.cpp
|
||||
SRCS_MIN+= MC/MCDisassembler/MCRelocationInfo.cpp
|
||||
SRCS_XDB+= MC/MCDisassembler/MCSymbolizer.cpp
|
||||
SRCS_XDL+= MC/MCDisassembler/MCSymbolizer.cpp
|
||||
SRCS_MIN+= MC/MCDwarf.cpp
|
||||
SRCS_MIN+= MC/MCELFObjectTargetWriter.cpp
|
||||
SRCS_MIN+= MC/MCELFStreamer.cpp
|
||||
@ -564,7 +564,7 @@ SRCS_MIN+= Option/Arg.cpp
|
||||
SRCS_MIN+= Option/ArgList.cpp
|
||||
SRCS_MIN+= Option/OptTable.cpp
|
||||
SRCS_MIN+= Option/Option.cpp
|
||||
SRCS_EXT+= Passes/PassBuilder.cpp
|
||||
SRCS_EXL+= Passes/PassBuilder.cpp
|
||||
SRCS_MIN+= ProfileData/Coverage/CoverageMapping.cpp
|
||||
SRCS_MIN+= ProfileData/Coverage/CoverageMappingReader.cpp
|
||||
SRCS_MIN+= ProfileData/Coverage/CoverageMappingWriter.cpp
|
||||
@ -601,7 +601,7 @@ SRCS_MIN+= Support/DynamicLibrary.cpp
|
||||
SRCS_MIN+= Support/Errno.cpp
|
||||
SRCS_MIN+= Support/Error.cpp
|
||||
SRCS_MIN+= Support/ErrorHandling.cpp
|
||||
SRCS_EXT+= Support/FileOutputBuffer.cpp
|
||||
SRCS_EXL+= Support/FileOutputBuffer.cpp
|
||||
SRCS_EXT+= Support/FileUtilities.cpp
|
||||
SRCS_MIN+= Support/FoldingSet.cpp
|
||||
SRCS_MIN+= Support/FormattedStream.cpp
|
||||
@ -651,7 +651,7 @@ SRCS_EXT+= Support/SystemUtils.cpp
|
||||
SRCS_MIN+= Support/TargetParser.cpp
|
||||
SRCS_MIN+= Support/TargetRegistry.cpp
|
||||
SRCS_MIN+= Support/ThreadLocal.cpp
|
||||
SRCS_EXT+= Support/ThreadPool.cpp
|
||||
SRCS_EXL+= Support/ThreadPool.cpp
|
||||
SRCS_MIN+= Support/Threading.cpp
|
||||
SRCS_MIN+= Support/TimeValue.cpp
|
||||
SRCS_MIN+= Support/Timer.cpp
|
||||
@ -709,7 +709,7 @@ SRCS_MIN+= Target/AArch64/AArch64TargetMachine.cpp
|
||||
SRCS_MIN+= Target/AArch64/AArch64TargetObjectFile.cpp
|
||||
SRCS_MIN+= Target/AArch64/AArch64TargetTransformInfo.cpp
|
||||
SRCS_MIN+= Target/AArch64/AsmParser/AArch64AsmParser.cpp
|
||||
SRCS_XDB+= Target/AArch64/Disassembler/AArch64Disassembler.cpp
|
||||
SRCS_XDL+= Target/AArch64/Disassembler/AArch64Disassembler.cpp
|
||||
SRCS_MIN+= Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
|
||||
SRCS_MIN+= Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
|
||||
SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
|
||||
@ -771,7 +771,7 @@ SRCS_MIN+= Target/ARM/Thumb2InstrInfo.cpp
|
||||
SRCS_MIN+= Target/ARM/Thumb2SizeReduction.cpp
|
||||
SRCS_MIN+= Target/ARM/ThumbRegisterInfo.cpp
|
||||
SRCS_MIN+= Target/Mips/AsmParser/MipsAsmParser.cpp
|
||||
SRCS_XDB+= Target/Mips/Disassembler/MipsDisassembler.cpp
|
||||
SRCS_XDL+= Target/Mips/Disassembler/MipsDisassembler.cpp
|
||||
SRCS_MIN+= Target/Mips/InstPrinter/MipsInstPrinter.cpp
|
||||
SRCS_MIN+= Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
|
||||
SRCS_MIN+= Target/Mips/MCTargetDesc/MipsABIInfo.cpp
|
||||
@ -860,7 +860,7 @@ SRCS_MIN+= Target/PowerPC/PPCVSXSwapRemoval.cpp
|
||||
SRCS_MIN+= Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
|
||||
SRCS_MIN+= Target/Sparc/AsmParser/SparcAsmParser.cpp
|
||||
SRCS_MIN+= Target/Sparc/DelaySlotFiller.cpp
|
||||
SRCS_XDB+= Target/Sparc/Disassembler/SparcDisassembler.cpp
|
||||
SRCS_XDL+= Target/Sparc/Disassembler/SparcDisassembler.cpp
|
||||
SRCS_MIN+= Target/Sparc/InstPrinter/SparcInstPrinter.cpp
|
||||
SRCS_MIN+= Target/Sparc/LeonPasses.cpp
|
||||
SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
|
||||
@ -891,8 +891,8 @@ SRCS_MIN+= Target/TargetRecip.cpp
|
||||
SRCS_MIN+= Target/TargetSubtargetInfo.cpp
|
||||
SRCS_MIN+= Target/X86/AsmParser/X86AsmInstrumentation.cpp
|
||||
SRCS_MIN+= Target/X86/AsmParser/X86AsmParser.cpp
|
||||
SRCS_XDB+= Target/X86/Disassembler/X86Disassembler.cpp
|
||||
SRCS_XDB+= Target/X86/Disassembler/X86DisassemblerDecoder.cpp
|
||||
SRCS_XDL+= Target/X86/Disassembler/X86Disassembler.cpp
|
||||
SRCS_XDL+= Target/X86/Disassembler/X86DisassemblerDecoder.cpp
|
||||
SRCS_MIN+= Target/X86/InstPrinter/X86ATTInstPrinter.cpp
|
||||
SRCS_MIN+= Target/X86/InstPrinter/X86InstComments.cpp
|
||||
SRCS_MIN+= Target/X86/InstPrinter/X86IntelInstPrinter.cpp
|
||||
@ -1018,7 +1018,7 @@ SRCS_MIN+= Transforms/Scalar/LoopDataPrefetch.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopDeletion.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopDistribute.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopIdiomRecognize.cpp
|
||||
SRCS_EXT+= Transforms/Scalar/LoopInstSimplify.cpp
|
||||
SRCS_EXL+= Transforms/Scalar/LoopInstSimplify.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopInterchange.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopLoadElimination.cpp
|
||||
SRCS_MIN+= Transforms/Scalar/LoopRerollPass.cpp
|
||||
@ -1108,9 +1108,15 @@ SRCS_ALL+= ${SRCS_EXT}
|
||||
.if ${MK_CLANG_FULL} != "no"
|
||||
SRCS_ALL+= ${SRCS_FUL}
|
||||
.endif
|
||||
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLD} != "no"
|
||||
SRCS_ALL+= ${SRCS_EXL}
|
||||
.endif
|
||||
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no"
|
||||
SRCS_ALL+= ${SRCS_XDB}
|
||||
.endif
|
||||
.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" || ${MK_LLD} != "no"
|
||||
SRCS_ALL+= ${SRCS_XDL}
|
||||
.endif
|
||||
SRCS+= ${SRCS_ALL:O}
|
||||
|
||||
llvm/IR/Attributes.inc: ${LLVM_SRCS}/include/llvm/IR/Attributes.td
|
||||
|
@ -184,6 +184,7 @@ __DEFAULT_NO_OPTIONS = \
|
||||
EISA \
|
||||
HESIOD \
|
||||
LIBSOFT \
|
||||
LLD \
|
||||
NAND \
|
||||
OFED \
|
||||
OPENLDAP \
|
||||
|
2
tools/build/options/WITHOUT_LLD
Normal file
2
tools/build/options/WITHOUT_LLD
Normal file
@ -0,0 +1,2 @@
|
||||
.\" $FreeBSD$
|
||||
Set to not build LLVM's lld linker.
|
2
tools/build/options/WITH_LLD
Normal file
2
tools/build/options/WITH_LLD
Normal file
@ -0,0 +1,2 @@
|
||||
.\" $FreeBSD$
|
||||
Set to build LLVM's lld linker.
|
@ -33,6 +33,9 @@ SUBDIR+= llvm-symbolizer
|
||||
SUBDIR+= opt
|
||||
.endif
|
||||
|
||||
.if ${MK_LLD} != "no"
|
||||
SUBDIR+= lld
|
||||
.endif
|
||||
.if ${MK_LLDB} != "no"
|
||||
SUBDIR+= lldb
|
||||
.endif # MK_LLDB
|
||||
|
Loading…
x
Reference in New Issue
Block a user