[all-commits] [llvm/llvm-project] 3b2937: [WebAssembly] Adding 64-bit version of R_WASM_MEMO...
Wouter van Oortmerssen via All-commits
all-commits at lists.llvm.org
Mon Jun 15 10:08:19 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3b29376e3fca4305ea470ee142cad1296103297b
https://github.com/llvm/llvm-project/commit/3b29376e3fca4305ea470ee142cad1296103297b
Author: Wouter van Oortmerssen <aardappel at gmail.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M lld/wasm/InputChunks.cpp
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SymbolTable.h
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
M lld/wasm/WriterUtils.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/WasmRelocs.def
M llvm/include/llvm/ObjectYAML/WasmYAML.h
M llvm/lib/BinaryFormat/Wasm.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/test/MC/WebAssembly/wasm64.s
M llvm/tools/llvm-readobj/WasmDumper.cpp
Log Message:
-----------
[WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs
This adds 4 new reloc types.
A lot of code that previously assumed any memory or offset values could be contained in a uint32_t (and often truncated results from functions returning 64-bit values) have been upgraded to uint64_t. This is not comprehensive: it is only the values that come in contact with the new relocation values and their dependents.
A new tablegen mapping was added to automatically upgrade loads/stores in the assembler, which otherwise has no way to select for these instructions (since they are indentical other than for the offset immediate). It follows a similar technique to https://reviews.llvm.org/D53307
Differential Revision: https://reviews.llvm.org/D81704
More information about the All-commits
mailing list