1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/MC
Sam Clegg b94988cc08 Reland: "[lld][WebAssembly] Initial support merging string data"
This change was originally landed in: 5000a1b4b9edeb9e994f2a5b36da8d48599bea49
It was reverted in: 061e071d8c9b98526f35cad55a918a4f1615afd4

This change adds support for a new WASM_SEG_FLAG_STRINGS flag in
the object format which works in a similar fashion to SHF_STRINGS
in the ELF world.

Unlike the ELF linker this support is currently limited:
- No support for SHF_MERGE (non-string merging)
- Always do full tail merging ("lo" can be merged with "hello")
- Only support single byte strings (p2align 0)

Like the ELF linker merging is only performed at `-O1` and above.

This fixes part of https://bugs.llvm.org/show_bug.cgi?id=48828,
although crucially it doesn't not currently support debug sections
because they are not represented by data segments (they are custom
sections)

Differential Revision: https://reviews.llvm.org/D97657
2021-05-10 16:03:38 -07:00
..
MCDisassembler [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCParser Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
CMakeLists.txt [CSSPGO] Pseudo probe encoding and emission. 2020-12-10 17:29:28 -08:00
ConstantPools.cpp [MCStreamer] De-capitalize EmitValue EmitIntValue{,InHex} 2020-02-14 23:08:40 -08:00
ELFObjectWriter.cpp Reland "[MC][ELF] Work around R_MIPS_LO16 relocation handling problem" 2021-05-04 18:16:09 +02:00
MachObjectWriter.cpp [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
MCAsmBackend.cpp Support dwarf fission for wasm object files 2020-09-17 14:42:41 -07:00
MCAsmInfo.cpp Internalize some cl::opt global variables or move them under namespace llvm 2021-05-07 11:15:43 -07:00
MCAsmInfoCOFF.cpp [MC] Default MCAsmInfo::UseIntegratedAssembler to true 2020-04-11 10:13:52 -07:00
MCAsmInfoDarwin.cpp [MC] Rename MCSection*::getSectionName() to getName(). NFC 2020-04-15 16:48:14 -07:00
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp Internalize some cl::opt global variables or move them under namespace llvm 2021-05-07 11:15:43 -07:00
MCAsmMacro.cpp [ms] [llvm-ml] Enable support for MASM-style macro procedures 2020-11-04 10:29:57 -05:00
MCAsmStreamer.cpp [XCOFF] handle string constants generation for AIX 2021-05-07 06:43:36 +00:00
MCAssembler.cpp MCDwarf: Delete uneeded parameter 2021-01-21 00:55:07 -08:00
MCCodeEmitter.cpp
MCCodeView.cpp [CodeView] Fix inline sites that are missing code offsets. 2020-12-07 13:01:53 -08:00
MCContext.cpp Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
MCDwarf.cpp [Debug-Info] Add names for the debug line prologue. 2021-03-12 04:45:08 +00:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp [MC] Change ELFOSABI_NONE to ELFOSABI_GNU for SHF_GNU_RETAIN 2021-03-09 09:59:47 -08:00
MCExpr.cpp [AIX][TLS] Add ASM portion changes to support TLSGD relocations to XCOFF objects 2021-04-29 13:18:59 -05:00
MCFragment.cpp [CSSPGO] Pseudo probe encoding and emission. 2020-12-10 17:29:28 -08:00
MCInst.cpp [WebAssembly] Support single-floating-point immediate value 2021-02-04 18:05:06 -08:00
MCInstPrinter.cpp [TableGen] Support combining AssemblerPredicates with ORs 2020-03-13 17:13:51 +00:00
MCInstrAnalysis.cpp [MC] Move MCInstrAnalysis::evaluateBranch to X86MCInstrAnalysis::evaluateBranch 2020-04-29 23:23:52 -07:00
MCInstrDesc.cpp [MC] Move deprecation infos from MCTargetDesc to MCInstrInfo 2020-03-29 21:20:40 +02:00
MCInstrInfo.cpp [MC] Move deprecation infos from MCTargetDesc to MCInstrInfo 2020-03-29 21:20:40 +02:00
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCNullStreamer.cpp [MC] Make MCStreamer aware of AsmParser's StartTokLoc 2020-11-02 12:32:07 -08:00
MCObjectFileInfo.cpp Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
MCObjectStreamer.cpp [XCOFF][DebugInfo] support DWARF for XCOFF for assembly output. 2021-03-04 21:07:52 -05:00
MCObjectWriter.cpp
MCPseudoProbe.cpp [CSSPGO] Pseudo probe encoding and emission. 2020-12-10 17:29:28 -08:00
MCRegisterInfo.cpp
MCSchedule.cpp [ARM][SchedModels] Convert IsPredicatedPred to MCSchedPredicate 2020-10-19 11:37:54 +03:00
MCSection.cpp [llvm] Use llvm::lower_bound and llvm::upper_bound (NFC) 2021-01-29 23:23:36 -08:00
MCSectionCOFF.cpp [MC][COFF][ELF] Reject instructions in IMAGE_SCN_CNT_UNINITIALIZED_DATA/SHT_NOBITS sections 2020-04-15 21:02:47 -07:00
MCSectionELF.cpp [MC][ELF] Support for zero flag section groups 2021-02-16 14:23:40 -08:00
MCSectionMachO.cpp Support #pragma clang section directives on MachO targets 2021-02-25 09:30:10 -08:00
MCSectionWasm.cpp Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
MCSectionXCOFF.cpp [XCOFF][AIX] Add Global Variables Directly to TOC for 32 bit AIX 2021-04-30 14:48:02 +00:00
MCStreamer.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCSubtargetInfo.cpp AMDGPU: Add target id and code object v4 support 2021-03-24 11:54:05 -04:00
MCSymbol.cpp
MCSymbolELF.cpp
MCSymbolXCOFF.cpp [XCOFF][DebugInfo] support DWARF for XCOFF for assembly output. 2021-03-04 21:07:52 -05:00
MCTargetOptions.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCTargetOptionsCommandFlags.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCValue.cpp
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp [WebAssembly][MC] Remove useless overrides in MCWasmStreamer 2020-11-17 07:09:49 -08:00
MCWin64EH.cpp Reapply "[CodeGen] [WinException] Only produce handler data at the end of the function if needed" 2020-11-23 23:17:03 +02:00
MCWinCOFFStreamer.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp [MC] Make MCStreamer aware of AsmParser's StartTokLoc 2020-11-02 12:32:07 -08:00
StringTableBuilder.cpp [MC] Adjust StringTableBuilder for linked Mach-O binaries 2020-10-22 19:19:41 -07:00
SubtargetFeature.cpp
WasmObjectWriter.cpp Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
WinCOFFObjectWriter.cpp ELFObjectWriter: Make STT_FILE precede associated local symbols 2021-02-07 17:51:40 -08:00
XCOFFObjectWriter.cpp [AIX][TLS] Add support for TLSGD relocations to XCOFF objects 2021-05-06 09:01:47 -05:00