llvm/lib/MC
David Majnemer 56afa6e660 [MC, COFF] Support link /incremental conditionally
Today, we always take into account the possibility that object files
produced by MC may be consumed by an incremental linker.  This results
in us initialing fields which vary with time (TimeDateStamp) which harms
hermetic builds (e.g. verifying a self-host went well) and produces
sub-optimal code because we cannot assume anything about the relative
position of functions within a section (call sites can get redirected
through incremental linker thunks).

Let's provide an MCTargetOption which controls this behavior so that we
can disable this functionality if we know a-priori that the build will
not rely on /incremental.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256203 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-21 22:09:27 +00:00
..
MCDisassembler Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC. 2015-09-15 16:17:27 +00:00
MCParser Use std::unique_ptr. NFC. 2015-12-16 23:49:14 +00:00
CMakeLists.txt MC: Remove the copy of MCSchedModel in MCSubtargetInfo 2015-07-10 22:13:43 +00:00
ConstantPools.cpp [ARM,AArch64] Store source location of asm constant pool entries 2015-11-16 16:25:47 +00:00
ELFObjectWriter.cpp Avoid explicit relocation sorting most of the time. 2015-12-17 16:22:06 +00:00
LLVMBuild.txt Nuke MCAnalysis. 2014-09-02 22:32:20 +00:00
MachObjectWriter.cpp ARM: support .watchos_version_min and .tvos_version_min. 2015-10-28 22:36:05 +00:00
Makefile Nuke MCAnalysis. 2014-09-02 22:32:20 +00:00
MCAsmBackend.cpp Implement .reloc (constant offset only) with support for R_MIPS_NONE and R_MIPS_32. 2015-11-12 13:33:00 +00:00
MCAsmInfo.cpp MCAsmInfo: Allow targets to specify when the .section directive should be omitted 2015-09-25 21:41:14 +00:00
MCAsmInfoCOFF.cpp [MC] Use LShr for constant evaluation of ">>" on non-arm64 darwin. 2015-11-11 00:51:36 +00:00
MCAsmInfoDarwin.cpp [MC] Use LShr for constant evaluation of ">>" on non-arm64 darwin. 2015-11-11 00:51:36 +00:00
MCAsmInfoELF.cpp Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
MCAsmStreamer.cpp Implement .reloc (constant offset only) with support for R_MIPS_NONE and R_MIPS_32. 2015-11-12 13:33:00 +00:00
MCAssembler.cpp [MC, COFF] Support link /incremental conditionally 2015-12-21 22:09:27 +00:00
MCCodeEmitter.cpp MC: Move target specific fixup info descriptors to TargetAsmBackend instead of 2010-12-16 03:20:06 +00:00
MCCodeGenInfo.cpp MC: MCCodeGenInfo naming update. NFC. 2015-05-15 19:13:31 +00:00
MCContext.cpp Use std::unique_ptr. NFC. 2015-12-16 23:49:14 +00:00
MCDwarf.cpp git clang-format and fix variable names. NFC. 2015-11-06 14:12:17 +00:00
MCELFObjectTargetWriter.cpp Always sort by offset first. NFC. 2015-12-17 15:08:24 +00:00
MCELFStreamer.cpp Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
MCExpr.cpp Recognize strings for Hexagon-specific variant kinds 2015-12-18 18:47:27 +00:00
MCInst.cpp Teach MCOperand::print how to print FPImm operands. 2015-12-21 16:47:10 +00:00
MCInstPrinter.cpp [llvm] Parameterizing the output stream for dumpbytes and outputting directly to stream. 2015-05-28 18:39:50 +00:00
MCInstrAnalysis.cpp MC: Disassembled CFG reconstruction. 2013-05-24 01:07:04 +00:00
MCInstrDesc.cpp Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
MCLabel.cpp Release build: guard dump functions with 2012-09-12 05:06:18 +00:00
MCLinkerOptimizationHint.cpp MC: Tidy up LOH naming a bit. NFC. 2015-06-01 23:55:06 +00:00
MCMachObjectTargetWriter.cpp MC: Remove obsolete MachO UseAggressiveSymbolFolding. 2015-06-04 20:27:42 +00:00
MCMachOStreamer.cpp MC: Make sure to clear *all* of MCMachOStreamer's state 2015-12-03 00:52:20 +00:00
MCNullStreamer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MCObjectFileInfo.cpp [llvm-dwp] Support debug_tu_index 2015-12-05 03:05:45 +00:00
MCObjectStreamer.cpp Implement .reloc (constant offset only) with support for R_MIPS_NONE and R_MIPS_32. 2015-11-12 13:33:00 +00:00
MCObjectWriter.cpp Fix pr24486. 2015-10-05 12:07:05 +00:00
MCRegisterInfo.cpp Make SubRegIndex size mandatory, following r183020. 2013-05-31 23:45:26 +00:00
MCSchedule.cpp Add <type_traits> for is_pod, fixing r241947 2015-07-10 22:17:49 +00:00
MCSection.cpp MC: Remove implicit ilist iterator conversions, NFC 2015-10-10 00:13:11 +00:00
MCSectionCOFF.cpp Sink COFF.h MC include into .cpp files 2015-09-03 16:41:50 +00:00
MCSectionELF.cpp Bring r252305 back with a test fix. 2015-11-06 15:30:45 +00:00
MCSectionMachO.cpp [ADT] Switch a bunch of places in LLVM that were doing single-character 2015-09-10 06:12:31 +00:00
MCStreamer.cpp Simplify now that emitValueToOffset always returns false. 2015-11-04 23:59:18 +00:00
MCSubtargetInfo.cpp [ARM] Introduce subtarget features per ARM architecture. 2015-11-16 11:10:19 +00:00
MCSymbol.cpp Fix pr24486. 2015-10-05 12:07:05 +00:00
MCSymbolELF.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MCSymbolizer.cpp Move MCSymbolizer's constructor into header. It's trivial - there's no need for 2014-03-27 02:42:52 +00:00
MCTargetOptions.cpp [MC, COFF] Support link /incremental conditionally 2015-12-21 22:09:27 +00:00
MCValue.cpp Use operator<< instead of print in a few more places. 2015-05-27 13:05:42 +00:00
MCWin64EH.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
MCWinEH.cpp Stop producing .data.rel sections. 2015-11-18 06:02:15 +00:00
StringTableBuilder.cpp Rename qsort -> multikey_qsort. NFC. 2015-10-27 16:57:50 +00:00
SubtargetFeature.cpp [ADT] Switch a bunch of places in LLVM that were doing single-character 2015-09-10 06:12:31 +00:00
WinCOFFObjectWriter.cpp [MC, COFF] Support link /incremental conditionally 2015-12-21 22:09:27 +00:00
WinCOFFStreamer.cpp [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
YAML.cpp Invert the MC -> Object dependency. 2014-07-03 02:01:39 +00:00