1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/tools
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
..
bugpoint Avoid shuffle self-assignment in EXPENSIVE_CHECKS builds 2021-03-10 11:17:34 +00:00
bugpoint-passes
dsymutil [dsymutil] Add flag to force a static variable to keep its enclosing function 2021-04-28 11:33:04 -07:00
gold [gold] Match lld WPD behavior for shared library symbols and add test 2021-02-17 15:28:49 -08:00
llc Recommit "[VP,Integer,#2] ExpandVectorPredication pass" 2021-05-04 11:47:52 +02:00
lli [lli] Honor the --entry-function flag in orc and orc-lazy modes. 2021-04-13 11:33:24 -07:00
llvm-ar [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
llvm-as
llvm-as-fuzzer
llvm-bcanalyzer
llvm-c-test
llvm-cat
llvm-cfi-verify [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-config
llvm-cov [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
llvm-cvtres [llvm-cvtres] Reduce the set of dependencies of llvm-cvtres. NFC. 2021-04-21 11:50:10 +03:00
llvm-cxxdump
llvm-cxxfilt [demangler] Initial support for the new Rust mangling scheme 2021-05-03 16:44:30 -07:00
llvm-cxxmap [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
llvm-diff
llvm-dis Allow llvm-dis to disassemble multiple files 2021-05-06 11:08:55 -07:00
llvm-dwarfdump [NFC][llvm-dwarfdump] Code clean up for inlined var loc stats 2021-05-10 05:50:16 -07:00
llvm-dwp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-elfabi
llvm-exegesis [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-extract
llvm-go
llvm-gsymutil
llvm-ifs [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
llvm-isel-fuzzer
llvm-itanium-demangle-fuzzer
llvm-jitlink [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-jitlistener
llvm-libtool-darwin [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
llvm-link NFC: Run clang-format over llvm-link. 2021-04-28 14:33:00 -07:00
llvm-lipo [TextAPI] move source code files out of subdirectory, NFC 2021-04-05 10:24:42 -07:00
llvm-lto
llvm-lto2 Don't use $ as suffix for symbol names in ThinLTOBitcodeWriter and other places 2021-03-29 13:03:52 +02:00
llvm-mc [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-mc-assemble-fuzzer [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-mc-disassemble-fuzzer
llvm-mca [llvm-mca][View] Update the Register File statistics. 2021-05-08 19:43:16 +01:00
llvm-microsoft-demangle-fuzzer
llvm-ml [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-modextract
llvm-mt
llvm-nm [llvm-nm] Help option output should be consistent with the command guide 2021-05-10 17:25:41 +01:00
llvm-objcopy [llvm-objcopy][ELF] --only-keep-debug: set offset/size of segments with no sections to zero 2021-05-05 10:26:57 -07:00
llvm-objdump [llvm-objdump][MachO] Print a newline before lazy bind/bind/weak/exports trie 2021-05-10 09:16:18 -07:00
llvm-opt-fuzzer [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
llvm-opt-report [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
llvm-pdbutil Removed redundant code. 2021-04-07 05:37:46 +04:00
llvm-profdata [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles 2021-04-22 00:42:37 -07:00
llvm-profgen [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-rc [llvm-rc] Add a GNU windres-like frontend to llvm-rc 2021-04-26 22:04:29 +03:00
llvm-readobj [llvm-readobj] [ARMWinEH] Try to resolve label symbols into regular ones 2021-05-04 22:22:18 +03:00
llvm-reduce [llvm-reduce] Don't unset dso_local on implicitly dso_local GVs 2021-04-30 11:57:22 -07:00
llvm-rtdyld [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
llvm-rust-demangle-fuzzer Add fuzzer for Rust demangler 2021-05-05 12:50:50 -07:00
llvm-shlib Revert "llvm-shlib: Create object libraries for each component and link against them" 2021-04-05 10:46:19 -07:00
llvm-size
llvm-special-case-list-fuzzer
llvm-split
llvm-stress Avoid shuffle self-assignment in EXPENSIVE_CHECKS builds 2021-03-10 11:17:34 +00:00
llvm-strings
llvm-symbolizer [llvm-symbolizer] remove unused variable 2021-04-14 09:24:45 -04:00
llvm-undname
llvm-xray [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
llvm-yaml-numeric-parser-fuzzer
llvm-yaml-parser-fuzzer
lto [LTO][Legacy] Decouple option parsing from LTOCodeGenerator 2021-03-31 16:43:26 +00:00
msbuild
obj2yaml Reland: "[lld][WebAssembly] Initial support merging string data" 2021-05-10 16:03:38 -07:00
opt [X86] Support AMX fast register allocation 2021-05-08 14:21:11 +08:00
opt-viewer
remarks-shlib
sancov [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
sanstats [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
split-file [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
verify-uselistorder [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
vfabi-demangle-fuzzer
xcode-toolchain
yaml2obj
CMakeLists.txt