Commit graph

1135 commits

Author SHA1 Message Date
bors
a14a361c2c Auto merge of #52266 - michaelwoerister:incr-thinlto-preliminaries, r=alexcrichton
Preliminary work for incremental ThinLTO.

Since implementing incremental ThinLTO is a bit more involved than I initially thought, I'm splitting out some of the things that already work. This PR (1) adds a way accessing some ThinLTO information in `rustc` and (2) does some cleanup around CGU/object file naming (which makes things quite a bit nicer).

This is probably best reviewed one commit at a time.
2018-07-13 22:06:38 +00:00
kennytm
9f79e915ff
Rollup merge of #52280 - japaric:llvm-tools-preview, r=kennytm
llvm-tools-preview: fix build-manifest

r? @alexcrichton
2018-07-14 02:56:42 +08:00
bors
6cc42a4488 Auto merge of #52256 - tinco:issue_52255, r=sanxiyn
make pretty source comparison check be fatal (fixes #52255)

This is not ready for merging because it reveals (at least) two regressions in the pretty suite. Should I attempt to fix those in this PR also?
2018-07-12 15:12:37 +00:00
Michael Woerister
94b32adb71 Adapt codegen-unit tests to new CGU naming scheme. 2018-07-12 10:44:13 +02:00
Jorge Aparicio
f45d5eb4f0 llvm-tools-preview: fix build-manifest 2018-07-11 20:03:34 -05:00
Tinco Andringa
f0b1a781ac make pretty source comparison check be fatal (fixes #52255) 2018-07-11 15:21:14 +02:00
Alex Crichton
42eb85002a Upgrade to LLVM's master branch (LLVM 7)
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
2018-07-10 13:43:01 -07:00
bors
9342f293e9 Auto merge of #51590 - bjorn3:codegen_llvm_extract, r=alexcrichton
Mostly fix metadata_only backend and extract some code out of rustc_codegen_llvm

Removes dependency on the `ar` crate and removes the `llvm.enabled` config option in favour of setting `rust.codegen-backends` to `[]`.
2018-07-08 00:52:36 +00:00
Mark Rousskov
c98f25b373 Ship clippy in manifests 2018-07-07 08:17:24 -06:00
bjorn3
95ed511514 Mostly fix compiling without LLVM (with metadata_only backend) 2018-07-07 10:51:51 +02:00
Bastien Orivel
933c299443 Dedupe filetime 2018-07-06 22:52:40 +02:00
bors
ded86ccc2c Auto merge of #51677 - nrc:update, r=kennytm
Update RLS and Rustfmt

r? @Mark-Simulacrum
2018-07-06 10:55:02 +00:00
Nick Cameron
7717705c35 Update RLS, Rustfmt, Cargo, and Clippy 2018-07-06 20:58:21 +12:00
kennytm
185fb7b77c
Rollup merge of #51619 - mksully22:ppc64le_rust, r=alexcrichton
rust: add initial changes to support powerpc64le musl

Initial changes to support rustc building on ppc64le with musl. A PR was also submitted to libc component https://github.com/rust-lang/libc/pull/1023 to add changes to libc musl definitions.

A PR was submitted on Alpine https://github.com/alpinelinux/aports/pull/4549 with equivalent temporary patches for building on Alpine for now.

As a verification test a github project was put together to build ppc64le versions of rustc, rust-stdlib, and cargo on Alpine, https://github.com/mksully22/ppc64le_alpine_rust_1.26.2
2018-07-06 07:07:10 +08:00
bors
478226cc2a Auto merge of #51599 - GuillaumeGomez:reduce-search-index, r=QuietMisdreavus
reduce search-index size

Reduce size of `search-index.js` of around 16%:

Going from `2996785` bytes to `2545583`.

r? @QuietMisdreavus
2018-07-05 18:21:25 +00:00
Oliver Schneider
d5dbeda9ef Update the clippy submodule 2018-07-05 13:42:12 +02:00
Mike Sullivan
dd069ea9f6 rust: add initial changes to support powerpc64le musl
amend powerpc64le_unknown_linux_musl.rs to fix copyright date
2018-07-03 18:18:03 +00:00
bors
81d5c3e783 Auto merge of #51428 - alexreg:uninitialized-statics-simplification, r=oli-obk
Removed `uninitialized_statics` field from `Memory` struct in miri

based on #51110

r? @oli-obk

CC @eddyb
2018-07-03 02:01:49 +00:00
Oliver Schneider
239a0ffeee Update the clippy submodule 2018-07-02 19:07:35 +02:00
Alexander Regueiro
6660c25045 Updated miri submodule. 2018-07-02 17:18:38 +01:00
bors
4faaf7e335 Auto merge of #51122 - oli-obk:clippy, r=Mark-Simulacrum
Did you mean to block nightlies on clippy?

Discussion: https://gitter.im/rust-lang/WG-clippy?at=5b073b6597a0361fb760cdc2

r? @alexcrichton

did I forget anything?

cc @nrc @Manishearth
2018-07-02 14:04:26 +00:00
Oliver Schneider
6d114399f8 Make sure clippy does not duplicate depenencies 2018-07-02 10:36:07 +02:00
Pietro Albini
c78bfa33dd
Rollup merge of #51922 - japaric:llvm-tools-preview, r=alexcrichton
rename the llvm-tools component to llvm-tools-preview and tweak its image

as per https://github.com/rust-lang/rust/issues/49584#issuecomment-401217483

r? @alexcrichton or @Mark-Simulacrum
2018-07-01 21:18:50 +02:00
Oliver Schneider
0ccebdff6d Update clippy submodule 2018-07-01 13:39:27 +02:00
bors
33b40f5679 Auto merge of #51943 - oli-obk:miriup, r=kennytm
Update the miri submodule

r? @kennytm
2018-07-01 00:04:14 +00:00
Oliver Schneider
8f55152f84 Did you mean to block nightlies on clippy? 2018-07-01 01:35:39 +02:00
Mark Simulacrum
ad97f8b491 Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
Jorge Aparicio
6531879e91 more s/llvm-tools/llvm-tools-preview/ 2018-06-30 14:40:36 -05:00
Guillaume Gomez
115df57757 reduce search-index size 2018-06-30 16:28:25 +02:00
Oliver Schneider
5f85e022e7 Update the miri submodule 2018-06-30 16:10:39 +02:00
mark
75d33cfa64 add edition compiletest header + fix tests 2018-06-26 19:32:00 -05:00
bors
b7c6e8f180 Auto merge of #51728 - bradjc:llvm-tools2, r=kennytm
build: add llvm-tools to manifest

This commit expands on a previous commit to build llvm-tools as a rustup component. It causes the llvm-tools component to be built if the extended step is active. It also adds llvm-tools to the build manifest so rustup can find it.

I tested this as far as I could, but had to hack `build-manifest/src/main.rs` a bit as it is not supported on MacOS. The main change I am not sure about is this line:

```rust
self.package("llvm-tools", &mut manifest.pkg, TARGETS);
```

There are numerous calls to `self.package()`, and I'm not sure if `TARGETS`, `HOSTS`, or `["*"]` is appropriate for llvm-tools.

Otherwise I mostly copied the example set by `rustfmt-preview`.
2018-06-25 17:22:12 +00:00
Amanieu d'Antras
794acd7047 Update rustfmt submodule 2018-06-23 18:54:42 +01:00
Brad Campbell
5fc87ebbba
build: llvm_tools tidy 2018-06-23 12:34:18 -04:00
Brad Campbell
739fe4b3c5
build: add llvm-tools to manifest
This commit expands on a previous commit to build llvm-tools as a rustup
component. It causes the llvm-tools component to be built if the
extended step is active. It also adds llvm-tools to the build manifest
so rustup can find it.
2018-06-23 05:57:32 -04:00
kennytm
07ad6e042c
Recognize the extra "LLVM tools versions" argument to build-manifest.
Fix #51699.
2018-06-22 16:22:01 +08:00
Mark Simulacrum
43557fc8f9 Revert "Auto merge of #51662 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum"
This reverts commit fff1abadd7, reversing
changes made to 01172a7d13.
2018-06-21 06:53:26 -06:00
bors
fff1abadd7 Auto merge of #51662 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] Prepare 1.28.0 beta release

This feels likely to fail due to https://github.com/rust-lang/rust/issues/51650 but I want to see what CI says.
2018-06-21 04:02:57 +00:00
Mark Simulacrum
09a0bc7975 Fix error-chain warnings 2018-06-20 19:52:07 -06:00
Bastien Orivel
c863049225 Fix tidy 2018-06-20 19:28:27 +02:00
Guillaume Gomez
1fcce48451 Add rustdoc-js tester should-fail option 2018-06-16 00:13:28 +02:00
Mark Rousskov
4a2c1c294f
Rollup merge of #51427 - FelixMcFelix:nll-stderr-remover, r=oli-obk
compiletest: autoremove duplicate .nll.* files (#51204)

UI tests in bless mode should now check to see if `.nll.*` files have a
matching `.*` file. If a match is found, it will be deleted.
This should be extensible to other modes (i.e., Polonius).
On running with `--bless`, the two files removed in #51186 are, in turn,
removed automatically.

fixes #51204
2018-06-08 17:21:08 -06:00
bors
c40275b34f Auto merge of #51410 - oli-obk:cargo_bump, r=nikomatsakis
Update the cargo submodule

This allows the next nightly to publish crates that are on the 2018 edition (in an unstable way)
2018-06-08 17:04:14 +00:00
Kyle Simpson
ec08622192 compiletest: autoremove duplicate .nll.* files (#51204)
UI tests in bless mode should now check to see if `.nll.*` files have a
matching `.*` file. If a match is found, it will be deleted.
This should be extensible to other modes (i.e., Polonius).
On running with `--bless`, the two files removed in #51186 are, in turn,
removed automatically.
2018-06-08 01:10:34 +01:00
Oliver Schneider
0288ab03a9 Update the cargo submodule 2018-06-07 11:51:43 +02:00
Nick Cameron
acd4fe8974 Update RLS and Rustfmt 2018-06-07 15:14:49 +12:00
Guillaume Gomez
2f7fa24aee Update rustdoc-js 2018-06-04 21:22:51 +02:00
Jorge Aparicio
c36bb94311 update the miri submodule to master 2018-06-03 14:31:37 +02:00
Jorge Aparicio
4bfefd94fd update the miri submodule 2018-06-03 14:27:46 +02:00
bors
4ecf12bf0e Auto merge of #51063 - mixi:musl-bootstrap, r=alexcrichton
Fix building rustc on and for musl hosts.

This fixes all problems I had when trying to compile rustc on a musl-based distribution (with `crt-static = false` in `config.toml`).

This is a fixed version of what ended up being #50105, making it possible to compile rustc on musl targets.

The differences to the old (now merged and subsequently reverted) pull request are:
 - The commit (6d9154a830) that caused the regression for which the original commits were reverted in #50709 is left out. This means the corresponding bug #36710 is still not fixed with `+crt-static`.
 - The test for issue 36710 is skipped for musl targets (until the issue is properly fixed).
 - Building cargo-vendor if `crt-static = false` is needed was broken (cargo-vendor links to some shared libraries if they exist on the system and this produces broken binaries with `+crt-static`)

CC @alexcrichton
2018-06-02 15:26:26 +00:00