- 19 8月, 2018 1 次提交
-
-
由 Masaki Hara 提交于
-
- 17 8月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This shim is generated elsewhere in the compiler so this commit adds support to ensure it goes through similar paths as the rest of the compiler to set llvm function attributes like target features. cc #53372
-
- 15 8月, 2018 1 次提交
-
-
由 Michael Woerister 提交于
-
- 10 8月, 2018 2 次提交
-
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
- 07 8月, 2018 2 次提交
-
-
由 Alex Crichton 提交于
This commit tweaks the linker-level visibility of some lang items that rustc uses and defines. Notably this means that `#[panic_implementation]` and `#[alloc_error_handler]` functions are never marked as `internal`. It's up to the linker to eliminate these, not rustc. Additionally `#[global_allocator]` generated symbols are no longer forced to `Default` visibility (fully exported), but rather they're relaxed to `Hidden` visibility). This symbols are *not* needed across DLL boundaries, only as a local implementation detail of the compiler-injected allocator symbols, so `Hidden` should suffice. Closes #51342 Closes #52795
-
由 Michael Woerister 提交于
-
- 04 8月, 2018 3 次提交
-
-
由 Mark Rousskov 提交于
-
由 Mark Rousskov 提交于
-
由 Mark Rousskov 提交于
This is a clippy-breaking change.
-
- 03 8月, 2018 1 次提交
-
-
由 Wesley Wiser 提交于
-
- 31 7月, 2018 3 次提交
-
-
由 Irina Popa 提交于
-
由 Irina Popa 提交于
-
由 Irina Popa 提交于
-
- 30 7月, 2018 2 次提交
-
-
由 Irina Popa 提交于
-
由 Irina Popa 提交于
-
- 23 7月, 2018 1 次提交
-
-
由 ljedrz 提交于
-
- 17 7月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This commit transitions definitions of custom sections on the wasm target from the unstable `#[wasm_custom_section]` attribute to the already-stable-for-other-targets `#[link_section]` attribute. Mostly the same restrictions apply as before, except that this now applies only to statics. Closes #51088
-
- 16 7月, 2018 4 次提交
-
-
由 csmoe 提交于
-
由 Michael Woerister 提交于
This reverts commit 8dc7ddb9.
-
由 Michael Woerister 提交于
This reverts commit f6894ebe.
-
由 Michael Woerister 提交于
This reverts commit e045a6cd.
-
- 13 7月, 2018 1 次提交
-
-
由 Michael Woerister 提交于
-
- 12 7月, 2018 1 次提交
-
-
由 Michael Woerister 提交于
-
- 11 7月, 2018 3 次提交
-
-
由 Michael Woerister 提交于
-
由 ljedrz 提交于
-
由 Alex Crichton 提交于
This commit upgrades the main LLVM submodule to LLVM's current master branch. The LLD submodule is updated in tandem as well as compiler-builtins. Along the way support was also added for LLVM 7's new features. This primarily includes the support for custom section concatenation natively in LLD so we now add wasm custom sections in LLVM IR rather than having custom support in rustc itself for doing so. Some other miscellaneous changes are: * We now pass `--gc-sections` to `wasm-ld` * The optimization level is now passed to `wasm-ld` * A `--stack-first` option is passed to LLD to have stack overflow always cause a trap instead of corrupting static data * The wasm target for LLVM switched to `wasm32-unknown-unknown`. * The syntax for aligned pointers has changed in LLVM IR and tests are updated to reflect this. * The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug] Nowadays we've been mostly only upgrading whenever there's a major release of LLVM but enough changes have been happening on the wasm target that there's been growing motivation for quite some time now to upgrade out version of LLD. To upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet another version of LLVM on the builders. The revision of LLVM in use here is arbitrarily chosen. We will likely need to continue to update it over time if and when we discover bugs. Once LLVM 7 is fully released we can switch to that channel as well. [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382
-
- 07 7月, 2018 2 次提交
- 06 7月, 2018 1 次提交
-
-
由 Josh Stone 提交于
We represent `bool` as `i1` in a `ScalarPair`, unlike other aggregates, to optimize IR for checked operators and the like. With this patch, we still do so when the pair is an immediate value, but we use the `i8` memory type when the value is loaded or stored as an LLVM aggregate. So `(bool, bool)` looks like an `{ i1, i1 }` immediate, but `{ i8, i8 }` in memory. When a pair is a direct function argument, `PassMode::Pair`, it is still passed using the immediate `i1` type, but as a return value it will use the `i8` memory type. Also, `bool`-like` enum tags will now use scalar pairs when possible, where they were previously excluded due to optimization issues.
-
- 28 6月, 2018 2 次提交
-
-
由 Oliver Schneider 提交于
-
由 Oliver Schneider 提交于
-
- 20 6月, 2018 2 次提交
- 14 6月, 2018 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 24 5月, 2018 1 次提交
-
-
由 Oliver Schneider 提交于
-
- 21 5月, 2018 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 17 5月, 2018 1 次提交
-
-
由 Irina Popa 提交于
-
- 13 5月, 2018 2 次提交
-
-
由 Anthony Ramine 提交于
We use a new MemFlags bitflags type to merge some store code paths.
-
由 Anthony Ramine 提交于
Fixes #50371.
-