236 Commits

Author SHA1 Message Date
kennytm
e3d113eca9
Do not allow LLVM to increase a TLS's alignment on macOS. 2018-06-30 21:36:03 +08:00
Vadim Petrochenkov
9f92fce77c Fortify dummy span checking 2018-06-30 01:53:32 +03:00
Oliver Schneider
4bb9648b27 Merge ConstVal and ConstValue 2018-06-28 11:04:25 +02:00
Oliver Schneider
05994779ea Move everything over from middle::const_val to mir::interpret 2018-06-28 11:02:31 +02:00
Oliver Schneider
6005b0ad2f Move the Lrc outside the error type and name the fields 2018-06-28 11:01:35 +02:00
John Kåre Alsaker
14d3c6e8f4 Make opaque::Encoder append-only and make it infallible 2018-06-27 11:43:15 +02:00
varkor
82803fd9bd Add backticks to E0558 2018-06-24 00:16:10 +01:00
kennytm
a39d93d899
Rollup merge of #51666 - marco-c:disable_probestack, r=nagisa
Disable probestack when GCOV profiling is being used

If I compile Firefox with gcov profiling enabled, Firefox crashes at startup because of probestack.
Since it's disabled for PGO, I think it makes sense to disable it for gcov too.
2018-06-22 16:50:44 +08:00
Marco Castelluccio
e9aacfd5c1 Disable probestack when GCOV profiling is being used 2018-06-20 22:07:55 +01:00
Bastien Orivel
c863049225 Fix tidy 2018-06-20 19:28:27 +02:00
Bastien Orivel
677eeaaa61 Replace tempdir by tempfile in librustc_trans 2018-06-20 19:28:27 +02:00
bors
fc19590297 Auto merge of #51248 - fabric-and-ink:newtype_index_debrujin, r=nikomatsakis
Declare DebruijnIndex via newtype_index macro

Part of #49887

Declare `DebruijnIndex` via the `newtype_index` macro.
2018-06-18 23:14:50 +00:00
bors
ae46aefd5b Auto merge of #51594 - eddyb:issue-51582, r=nagisa
rustc_codegen_llvm: don't treat i1 as signed, even for #[repr(i8)] enums.

Fixes #51582. r? @nagisa cc @nox @oli-obk
2018-06-16 21:48:31 +00:00
Eduard-Mihai Burtescu
25c47a4885 rustc_codegen_llvm: don't treat i1 as signed, even for #[repr(i8)] enums. 2018-06-16 16:00:53 +03:00
Fabian Drinck
0ad3600700 Declare DebruijnIndex via newtype_index macro 2018-06-14 18:44:36 +02:00
Eduard-Mihai Burtescu
5a5c7ded0d rustc: rename ty::maps to ty::query. 2018-06-14 18:05:12 +03:00
Nikita Popov
22cf833dd1 Rename -Z no-verify to -Z verify-llvm-ir
This disables IR verification by default.
2018-06-12 21:23:06 +02:00
Nikita Popov
78a16443a3 Respect -Z no-verify during LTO
Currently -Z no-verify only controls IR verification prior to
LLVM codegen, while verification is performed unconditionally
both before and after linking with (Thin)LTO.
2018-06-12 20:50:21 +02:00
Oliver Schneider
5c0d1355f2 Refactor the const eval diagnostic API 2018-06-05 20:49:46 +02:00
Mark Simulacrum
e7ae1b2648
Rollup merge of #51323 - nikic:switch-int-lowering, r=nagisa
Generate br for all two target SwitchInts

Instead of only for booleans. This means that `if let` also becomes a br.

Apart from making the IR slightly simpler, this is supported by FastISel (#4353).
2018-06-03 18:18:05 -06:00
Nikita Popov
4f4f7dfc00 Generate br for all two target SwitchInts
Instead of only for booleans. This means that if let also becomes
a br.

Apart from making the IR slightly simpler, this is supported by
FastISel.
2018-06-02 22:21:01 +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 (6d9154a830dd9773fe8a4e34e1fc3dfb1ca6f935) 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
Johannes Nixdorf
bf3b8df697 musl: don't use the included startfiles with -crt-static
This fixes (only for -crt-static) #36710.
2018-05-31 12:01:50 +02:00
Eduard-Mihai Burtescu
06d88cda08 rustc: rename mir::LocalDecl's syntactic_source_info to source_info. 2018-05-30 20:30:10 +03:00
Eduard-Mihai Burtescu
6c53972478 rustc: turn mir::LocalDecl's visibility_source_info into a SourceScope. 2018-05-30 20:30:10 +03:00
Eduard-Mihai Burtescu
0895590c53 rustc: rename mir::LocalDecl's source_info to visibility_source_info. 2018-05-30 20:30:10 +03:00
Eduard-Mihai Burtescu
85d44c4276 rustc: rename mir::VisibilityScope to mir::SourceScope. 2018-05-30 20:30:09 +03:00
Felix S. Klock II
24abe6f363 rust-lang/rust#27282: Add StatementKind::ReadForMatch to MIR.
(This is just the data structure changes and some boilerplate match
code that followed from it; the actual emission of these statements
comes in a follow-up commit.)
2018-05-29 23:01:36 +02:00
bors
5ae5361cdd Auto merge of #50475 - csmoe:debr, r=nikomatsakis
Refactor DebruijnIndex to be 0-based

Fixes #49813
2018-05-29 01:11:24 +00:00
Niko Matsakis
8bd4bffe50 stop invoking DebruijnIndex::new directly
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28 19:47:04 -04:00
bors
2612bbcba0 Auto merge of #50521 - gnzlbg:simd_float, r=alexcrichton
Add simd math intrinsics and gather/scatter

This PR adds simd math intrinsics for floating-point vectors (sqrt, sin, cos, pow, exp, log, fma, abs, etc.) and the generic simd gather/scatter intrinsics.
2018-05-28 16:54:44 +00:00
bors
1e504d301c Auto merge of #51072 - petrochenkov:ifield, r=eddyb
Use `Ident`s for fields in HIR

Continuation of https://github.com/rust-lang/rust/pull/49718, part of https://github.com/rust-lang/rust/issues/49300
2018-05-26 16:56:22 +00:00
Vadim Petrochenkov
189c0a1297 Use Idents for fields in HIR 2018-05-26 14:41:58 +03:00
bors
b4247d45a5 Auto merge of #51041 - alexcrichton:better-unwind, r=nikomatsakis
std: Ensure OOM is classified as `nounwind`

OOM can't unwind today, and historically it's been optimized as if it can't
unwind. This accidentally regressed with recent changes to the OOM handler, so
this commit adds in a codegen test to assert that everything gets optimized away
after the OOM function is approrpiately classified as nounwind

Closes #50925
2018-05-26 09:59:43 +00:00
bors
67d99d91e5 Auto merge of #51035 - oli-obk:unsupported_crate_type, r=eddyb
Don't ICE if crate has no valid crate types left

fixes #50993
2018-05-26 03:22:39 +00:00
Alex Crichton
f67453729c std: Ensure OOM is classified as nounwind
OOM can't unwind today, and historically it's been optimized as if it can't
unwind. This accidentally regressed with recent changes to the OOM handler, so
this commit adds in a codegen test to assert that everything gets optimized away
after the OOM function is approrpiately classified as nounwind

Closes #50925
2018-05-24 12:03:05 -07:00
Oliver Schneider
fb9060ac06 Revert "Ensure llvm doesn't trigger an assert for crazy transmutes"
This reverts commit 776c632e2a9a044fd134321a9d561e28994ff3ff.
2018-05-24 20:49:38 +02:00
Oliver Schneider
ca8c27e1c1 Ensure llvm doesn't trigger an assert for crazy transmutes 2018-05-24 20:49:38 +02:00
Oliver Schneider
c420531304 Replace ScalarKind with Primitive 2018-05-24 20:49:37 +02:00
Oliver Schneider
f82256e473 primval -> scalar rename 2018-05-24 20:49:37 +02:00
Oliver Schneider
64a75ecc80 change Value::Bytes to Value::Bits 2018-05-24 20:49:37 +02:00
Oliver Schneider
d7324631ae Rename MemoryPointer to Pointer 2018-05-24 20:48:54 +02:00
Oliver Schneider
03a92b61ec Eliminate the Pointer wrapper type 2018-05-24 20:48:13 +02:00
Oliver Schneider
6436de89fe Differentiate between interpret::Scalar and layout::Scalar 2018-05-24 20:47:35 +02:00
Oliver Schneider
ef2177cffc Rename ByVal(Pair) to Scalar(Pair) 2018-05-24 20:47:35 +02:00
Oliver Schneider
1606e137e7 Rename PrimVal to Scalar 2018-05-24 20:47:35 +02:00
Oliver Schneider
9cc5d927c9 Add constant for Size::from_bytes(0) 2018-05-24 20:46:07 +02:00
Oliver Schneider
dcbe09e2b5 Don't ICE if crate has no valid crate types left 2018-05-24 17:05:16 +02:00
gnzlbg
c803ee455b refactor 2018-05-24 16:04:39 +02:00
gnzlbg
1bd9573c1f enable fast-math flags 2018-05-24 16:04:39 +02:00