about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
AgeCommit message (Collapse)AuthorLines
2018-06-30Auto merge of #51828 - kennytm:no-simd-swap-for-mac, r=alexcrichtonbors-3/+41
Do not allow LLVM to increase a TLS's alignment on macOS. This addresses the various TLS segfault on macOS 10.10. Fix #51794. Fix #51758. Fix #50867. Fix #48866. Fix #46355. Fix #44056.
2018-06-30Do not allow LLVM to increase a TLS's alignment on macOS.kennytm-3/+41
2018-06-30Fortify dummy span checkingVadim Petrochenkov-2/+2
2018-06-28Merge `ConstVal` and `ConstValue`Oliver Schneider-30/+21
2018-06-28Move everything over from `middle::const_val` to `mir::interpret`Oliver Schneider-3/+3
2018-06-28Move the Lrc outside the error type and name the fieldsOliver Schneider-5/+7
2018-06-27Make opaque::Encoder append-only and make it infallibleJohn Kåre Alsaker-2/+1
2018-06-24Add backticks to E0558varkor-5/+0
2018-06-22Rollup merge of #51666 - marco-c:disable_probestack, r=nagisakennytm-0/+5
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-20Disable probestack when GCOV profiling is being usedMarco Castelluccio-0/+5
2018-06-20Fix tidyBastien Orivel-1/+4
2018-06-20Replace tempdir by tempfile in librustc_transBastien Orivel-5/+5
2018-06-18Auto merge of #51248 - fabric-and-ink:newtype_index_debrujin, r=nikomatsakisbors-1/+1
Declare DebruijnIndex via newtype_index macro Part of #49887 Declare `DebruijnIndex` via the `newtype_index` macro.
2018-06-16Auto merge of #51594 - eddyb:issue-51582, r=nagisabors-2/+10
rustc_codegen_llvm: don't treat i1 as signed, even for #[repr(i8)] enums. Fixes #51582. r? @nagisa cc @nox @oli-obk
2018-06-16rustc_codegen_llvm: don't treat i1 as signed, even for #[repr(i8)] enums.Eduard-Mihai Burtescu-2/+10
2018-06-14Declare DebruijnIndex via newtype_index macroFabian Drinck-1/+1
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-5/+5
2018-06-12Rename -Z no-verify to -Z verify-llvm-irNikita Popov-6/+6
This disables IR verification by default.
2018-06-12Respect -Z no-verify during LTONikita Popov-7/+12
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-05Refactor the const eval diagnostic APIOliver Schneider-2/+8
2018-06-03Rollup merge of #51323 - nikic:switch-int-lowering, r=nagisaMark Simulacrum-5/+14
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-02Generate br for all two target SwitchIntsNikita Popov-5/+14
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-02Auto merge of #51063 - mixi:musl-bootstrap, r=alexcrichtonbors-0/+16
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-05-31musl: don't use the included startfiles with -crt-staticJohannes Nixdorf-0/+16
This fixes (only for -crt-static) #36710.
2018-05-30rustc: rename mir::LocalDecl's syntactic_source_info to source_info.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: turn mir::LocalDecl's visibility_source_info into a SourceScope.Eduard-Mihai Burtescu-3/+6
2018-05-30rustc: rename mir::LocalDecl's source_info to visibility_source_info.Eduard-Mihai Burtescu-3/+3
2018-05-30rustc: rename mir::VisibilityScope to mir::SourceScope.Eduard-Mihai Burtescu-14/+14
2018-05-29rust-lang/rust#27282: Add `StatementKind::ReadForMatch` to MIR.Felix S. Klock II-0/+1
(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-29Auto merge of #50475 - csmoe:debr, r=nikomatsakisbors-1/+1
Refactor DebruijnIndex to be 0-based Fixes #49813
2018-05-28stop invoking `DebruijnIndex::new` directlyNiko Matsakis-1/+1
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-28Auto merge of #50521 - gnzlbg:simd_float, r=alexcrichtonbors-0/+470
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-26Auto merge of #51072 - petrochenkov:ifield, r=eddybbors-3/+3
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-26Use `Ident`s for fields in HIRVadim Petrochenkov-3/+3
2018-05-26Auto merge of #51041 - alexcrichton:better-unwind, r=nikomatsakisbors-16/+24
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-26Auto merge of #51035 - oli-obk:unsupported_crate_type, r=eddybbors-1/+1
Don't ICE if crate has no valid crate types left fixes #50993
2018-05-24std: Ensure OOM is classified as `nounwind`Alex Crichton-16/+24
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-24Revert "Ensure llvm doesn't trigger an assert for crazy transmutes"Oliver Schneider-2/+5
This reverts commit 776c632e2a9a044fd134321a9d561e28994ff3ff.
2018-05-24Ensure llvm doesn't trigger an assert for crazy transmutesOliver Schneider-5/+2
2018-05-24Replace `ScalarKind` with `Primitive`Oliver Schneider-2/+3
2018-05-24primval -> scalar renameOliver Schneider-8/+8
2018-05-24change `Value::Bytes` to `Value::Bits`Oliver Schneider-4/+6
2018-05-24Rename MemoryPointer to PointerOliver Schneider-2/+2
2018-05-24Eliminate the `Pointer` wrapper typeOliver Schneider-1/+1
2018-05-24Differentiate between interpret::Scalar and layout::ScalarOliver Schneider-6/+6
2018-05-24Rename ByVal(Pair) to Scalar(Pair)Oliver Schneider-3/+3
2018-05-24Rename PrimVal to ScalarOliver Schneider-6/+6
2018-05-24Add constant for `Size::from_bytes(0)`Oliver Schneider-12/+12
2018-05-24Don't ICE if crate has no valid crate types leftOliver Schneider-1/+1
2018-05-24refactorgnzlbg-60/+30