FFangrui Song[WebAssembly] Stabilize custom section order
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[Support] Move TargetParsers to new component This is a fairly large changeset, but it can be broken into a few pieces: - llvm/Support/*TargetParser* are all moved from the LLVM Support component into a new LLVM Component called "TargetParser". This potentially enables using tablegen to maintain this information, as is shown in https://reviews.llvm.org/D137517. This cannot currently be done, as llvm-tblgen relies on LLVM's Support component. - This also moves two files from Support which use and depend on information in the TargetParser: - llvm/Support/Host.{h,cpp} which contains functions for inspecting the current Host machine for info about it, primarily to support getting the host triple, but also for -mcpu=native support in e.g. Clang. This is fairly tightly intertwined with the information in X86TargetParser.h, so keeping them in the same component makes sense. - llvm/ADT/Triple.h and llvm/Support/Triple.cpp, which contains the target triple parser and representation. This is very intertwined with the Arm target parser, because the arm architecture version appears in canonical triples on arm platforms. - I moved the relevant unittests to their own directory. And so, we end up with a single component that has all the information about the following, which to me seems like a unified component: - Triples that LLVM Knows about - Architecture names and CPUs that LLVM knows about - CPU detection logic for LLVM Given this, I have also moved RISCVISAInfo.h into this component, as it seems to me to be part of that same set of functionality. If you get link errors in your components after this patch, you likely need to add TargetParser into LLVM_LINK_COMPONENTS in CMake. Differential Revision: https://reviews.llvm.org/D137838 | 3 年前 | |
fix typos to cycle bots | 3 年前 | |
Re-land [LLD] Allow usage of LLD as a library This reverts commit aa495214b39d475bab24b468de7a7c676ce9e366. As discussed in https://github.com/llvm/llvm-project/issues/53475 this patch allows for using LLD-as-a-lib. It also lets clients link only the drivers that they want (see unit tests). This also adds the unit test infra as in the other LLVM projects. Among the test coverage, I've added the original issue from @krzysz00, see: https://github.com/ROCmSoftwarePlatform/D108850-lld-bug-reproduction Important note: this doesn't allow (yet) linking in parallel. This will come a bit later hopefully, in subsequent patches, for COFF at least. Differential revision: https://reviews.llvm.org/D119049 | 3 年前 | |
[wasm-ld] Switch to xxh3_64bits Similar to recent changes to ELF (e.g., D154813), Mach-O, and COFF to improve hashing performance. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D155752 | 2 年前 | |
[lld] Use std::optional instead of llvm::Optional (NFC) This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 | 3 年前 | |
[lld] Use std::optional instead of llvm::Optional (NFC) This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 | 3 年前 | |
[WebAssembly] Support annotate clang attributes for marking functions. Annotation attributes may be attached to a function to mark it with custom data that will be contained in the final Wasm file. The annotation causes a custom section named "func_attr.annotate.<name>.<arg0>.<arg1>..." to be created that will contain each function's index value that was marked with the annotation. A new patchable relocation type for function indexes had to be created so the custom section could be updated during linking. Reviewed By: sbc100 Differential Revision: https://reviews.llvm.org/D150803 | 2 年前 | |
fix typos to cycle bots | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld] Don't include SetVector.h (NFC) | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Implement --why-extract flag from the ELF backend See https://reviews.llvm.org/D109572 for the original ELF version. Differential Revision: https://reviews.llvm.org/D145431 | 3 年前 | |
Use llvm::count_if (NFC) | 3 年前 | |
[lld][WebAssembly] Cleanup output of --verbose Remove some unnecessary logging from wasm-ld when running under --verbose. Unlike -debug this logging is available in release builds. This change makes it little more minimal/readable. Also, avoid compiling the debugWrite function in releaase builds where it does nothing. This should remove a lot debug strings from the binary, and avoid having to construct unused debug strings at runtime. Differential Revision: https://reviews.llvm.org/D109583 | 4 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Initial support for stub libraries See the docs in lld/docs/WebAssembly.rst for more on this. This feature unlocks a lot of simplification in the emscripten toolchain since we can represent the JS libraries to wasm-ld as stub libraries. See https://github.com/emscripten-core/emscripten/issues/18875 Differential Revision: https://reviews.llvm.org/D145308 | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[lld][WebAssembly] Initial support for stub libraries See the docs in lld/docs/WebAssembly.rst for more on this. This feature unlocks a lot of simplification in the emscripten toolchain since we can represent the JS libraries to wasm-ld as stub libraries. See https://github.com/emscripten-core/emscripten/issues/18875 Differential Revision: https://reviews.llvm.org/D145308 | 3 年前 | |
[lld][WebAssembly] Initial support for stub libraries See the docs in lld/docs/WebAssembly.rst for more on this. This feature unlocks a lot of simplification in the emscripten toolchain since we can represent the JS libraries to wasm-ld as stub libraries. See https://github.com/emscripten-core/emscripten/issues/18875 Differential Revision: https://reviews.llvm.org/D145308 | 3 年前 | |
reland: [Demangle] make llvm::demangle take std::string_view rather than const std::string& As suggested by @erichkeane in https://reviews.llvm.org/D141451#inline-1429549 There's potential for a lot more cleanups around these APIs. This is just a start. Callers need to be more careful about sub-expressions producing strings that don't outlast the expression using llvm::demangle. Add a release note. Differential Revision: https://reviews.llvm.org/D149104 | 3 年前 | |
[lld][WebAssembly] Initial support for stub libraries See the docs in lld/docs/WebAssembly.rst for more on this. This feature unlocks a lot of simplification in the emscripten toolchain since we can represent the JS libraries to wasm-ld as stub libraries. See https://github.com/emscripten-core/emscripten/issues/18875 Differential Revision: https://reviews.llvm.org/D145308 | 3 年前 | |
[wasm] Silence 'not all control paths return a value' warning when building with MSVC on Windows | 3 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[WebAssembly] Stabilize custom section order It currently depends on the StringMap iteration order, which is not guaranteed to be deterministic. Use MapVector to stabilize the order. | 2 年前 | |
[lld][WebAssembly] Use C++17 nested namespace syntax in most places. NFC Like D131405, but for wasm-ld. Differential Revision: https://reviews.llvm.org/D145399 | 3 年前 | |
[llvm] Add missing StringExtras.h includes In preparation for removing the #include "llvm/ADT/StringExtras.h" from the header to source file of llvm/Support/Error.h, first add in all the missing includes that were previously included transitively through this header. | 2 年前 | |
[WebAssembly] Second phase of implemented extended const proposal This change continues to lay the ground work for supporting extended const expressions in the linker. The included test covers object file reading and writing and the YAML representation. Differential Revision: https://reviews.llvm.org/D121349 | 4 年前 |