summary refs log tree commit diff
path: root/src/librustc/session
AgeCommit message (Collapse)AuthorLines
2018-07-14Fix rustdoc run failures by shutting down definitely some lintsGuillaume Gomez-1/+5
2018-06-11Fix extern prelude failure in rustdocGuillaume Gomez-0/+7
2018-06-04Remove the unused `-Z trans-time-graph` flag.kennytm-2/+0
Rebase of #50783 has accidentally revived the flag (which should be renamed to `-Z codegen-time-graph` by #50615).
2018-06-01Fix optimization_fuelJohn Kåre Alsaker-1/+2
2018-05-31Stabilize short error formatGuillaume Gomez-13/+1
2018-05-29rust-lang/rust#27282: emit `ReadForMatch` on each match arm.Felix S. Klock II-0/+4
Also, turn on ReadForMatch emission by default (when using NLL).
2018-05-29Debug flag to bypass restriction of mutation in match guards.Felix S. Klock II-0/+2
Now, if you pass `-Z disable-ast-check-for-mutation-in-guard`, then we will just allow you to mutably-borrow and assign in guards of `match` arms. This is wildly unsound with AST-borrowck. It is also unsound with MIR-borrowck without further adjustments, which come in later in the commit series on this Pull Request. See also rust-lang/rust#24535 and rust-lang/rfcs#1006.
2018-05-29expose -Zpolonius flagDouglas Campos-0/+2
2018-05-22Add -Z no-parallel-llvm flagNikita Popov-0/+2
Codegen issues commonly only manifest under specific circumstances, e.g. if multiple codegen units are used and ThinLTO is enabled. However, these configuration are threaded, making the use of LLVM debugging facilities hard, as output is interleaved. This patch adds a -Z no-parallel-llvm flag, which allows disabling parallelization of codegen and linking, while otherwise preserving behavior with regard to codegen units and LTO.
2018-05-21Stabilize suggestion applicability field in json outputManish Goregaokar-4/+0
2018-05-21Auto merge of #50265 - japaric:sz, r=alexcrichtonbors-21/+9
stabilize opt-level={s,z} closes #35784 closes #47651 ### Rationale Since the lastest LLVM upgrade rustc / LLVM does more agressive loop unrolling. This results in increased binary size of embedded / no_std programs: a hundreds of bytes increase, or about a 7x increase, in the case of the smallest Cortex-M binary cf. #49260. As we are shooting for embedded Rust on stable it would be great to also provide a way to optimize for size (which is pretty important for embedded applications that target resource constrained devices) on stable. Also this has been baking in nightly for a long time. r? @alexcrichton which team has to sign off this?
2018-05-17Emit noalias on &mut parameters by defaultNikita Popov-2/+2
This used to be disabled due to LLVM bugs in the handling of noalias information in conjunction with unwinding. However, according to #31681 all known LLVM bugs have been fixed by LLVM 6.0, so it's probably time to reenable this optimization. Noalias annotations will not be emitted by default if either -C panic=abort (as previously) or LLVM >= 6.0 (new). -Z mutable-noalias=no is left as an escape-hatch to allow debugging problems suspected to stem from this change.
2018-05-17Rename trans to codegen everywhere.Irina Popa-22/+22
2018-05-15Make mutable_noalias and arg_align_attributes be trackedAnthony Ramine-2/+2
2018-05-13Add a Rayon thread poolJohn Kåre Alsaker-1/+7
2018-05-09Allow for specifying a linker plugin for cross-language LTOMichael Woerister-4/+58
2018-05-07Auto merge of #50000 - michaelwoerister:cross-lang-lto, r=alexcrichtonbors-0/+2
Add some groundwork for cross-language LTO. Implements part of #49879: - Adds a `-Z cross-lang-lto` flag to rustc - Makes sure that bitcode is embedded in object files if the flag is set. This should already allow for using cross language LTO for staticlibs (where one has to invoke the linker manually anyway). However, `rustc` will not try to enable LTO for its own linker invocations yet. r? @alexcrichton
2018-05-05add `-Znll-facts` switch that dumps facts for new analysisNiko Matsakis-0/+2
2018-05-03Add -Z cross-lang-lto flag in order to support linker-based LTO.Michael Woerister-0/+2
2018-05-02make it compile againflip1995-1/+1
2018-05-01Rework force-frame-pointerSimonas Kazlauskas-5/+8
This reworks the force-frame-pointer PR to explicitly only consider the value of the flag if it is provided, and use a target default otherwise. Something that was tried but not kept was renaming the flag to `frame-pointer`, because for flag `frame-pointer=no`, there is no guarante, that LLVM will elide *all* the frame pointers; oposite of what the literal reading of the flag would suggest.
2018-05-01Don't force-enable frame pointers when generating debug infoBjörn Steinbrink-1/+7
We apparently used to generate bad/incomplete debug info causing debuggers not to find symbols of stack allocated variables. This was somehow worked around by having frame pointers. With the current codegen, this seems no longer necessary, so we can remove the code that force-enables frame pointers whenever debug info is requested. Since certain situations, like profiling code profit from having frame pointers, we add a -Cforce-frame-pointers flag to always enable frame pointers. Fixes #11906
2018-04-30Auto merge of #50204 - Manishearth:approx-enum, r=estebankbors-3/+3
Use enum for approximate suggestions r? @nrc @killercup
2018-04-27stabilize opt-level={s,z}Jorge Aparicio-21/+9
closes #35784
2018-04-26Rename rustc_back::target to rustc_target::spec.Irina Popa-9/+8
2018-04-26rustc_back: move LinkerFlavor, PanicStrategy, and RelroLevel to target.Irina Popa-6/+6
2018-04-25Approximate -> ApplicabilityManish Goregaokar-3/+3
2018-04-25Auto merge of #50134 - andjo403:jobserver, r=michaelwoeristerbors-4/+13
make rustdoc test follow the jobserver limit of threads fix that to many threads is executing at the same time when rustdoc test is executed.
2018-04-23add a `-Zchalk` command-line optionNiko Matsakis-0/+2
2018-04-23make rustdoc test follow the jobserver limit of threadsfix that to many ↵Andreas Jonson-4/+13
threads is executing at the same timewhen rustdoc test is executed.
2018-04-20fix some small compile errorsKurtis Nusbaum-1/+2
2018-04-19add EDITIONS_NAME_LIST, make edition tracked, enforce that only stable ↵Kurtis Nusbaum-9/+18
editions are allowed to be used on non-nightly builds
2018-04-19add --edition optionKurtis Nusbaum-26/+49
2018-04-18Work around rust-lang/rust#49998 with experimental code that does less ↵Felix S. Klock II-0/+2
updating of cause map. This seems to avoid poor scaling on src/test/ui/span/dropck_vec_cycle_checked.rs
2018-04-18Auto merge of #49349 - Zoxc:sync-errors, r=michaelwoeristerbors-7/+7
Make Handler more thread-safe The use of `code_emitted` to suppress extended explanations is not thread safe. I'm not sure why we keep the documentation for errors outside `diagnostics.rs` anyway. It would be better to add a `teach` method to `DiagnosticsBuilder`, so instead of: ``` if self.tcx.sess.teach(&err.get_code().unwrap()) { err.note("..."); } ``` we'd use `err.teach("...")` cc @estebank r? @michaelwoerister
2018-04-17Make one_time_diagnostics thread-safeJohn Kåre Alsaker-2/+2
2018-04-17Make Handler more thread-safeJohn Kåre Alsaker-5/+5
2018-04-17Auto merge of #49836 - nikomatsakis:nll-facts-prep, r=pnkfelixbors-2/+0
prep work for using timely dataflow with NLL Two major changes: **Two-phase borrows are overhauled.** We no longer have two bits per borrow. Instead, we track -- for each borrow -- an (optional) "activation point". Then, for each point P where the borrow is in scope, we check where P falls relative to the activation point. If P is between the reservation point and the activation point, then this is the "reservation" phase of the borrow, else the borrow is considered active. This is simpler and means that the dataflow doesn't have to care about 2-phase at all, at last not yet. **We no longer support using the MIR borrow checker without NLL.** It is going to be increasingly untenable to support lexical mode as we go forward, I think, and also of increasingly little value. This also exposed a few bugs in NLL mode due to increased testing. r? @pnkfelix cc @bobtwinkles
2018-04-17Auto merge of #49882 - Zoxc:sync-misc2, r=michaelwoeristerbors-5/+5
More thread-safety changes r? @michaelwoerister
2018-04-16Auto merge of #49433 - varkor:metadata-skip-mir-opt, r=michaelwoeristerbors-0/+4
Skip MIR encoding for cargo check Resolves #48662. r? @michaelwoerister
2018-04-16Use locks for Session.lint_store and Session.buffered_lintsJohn Kåre Alsaker-5/+5
2018-04-15Auto merge of #49947 - oli-obk:turing_complete_const_eval, r=nagisabors-3/+0
Don't abort const eval due to long running evals, just warn one check-box of #49930 r? @nagisa (https://github.com/rust-lang/rfcs/pull/2344#issuecomment-368246665)
2018-04-15remove -Znll -- borrowck=mir implies nll nowNiko Matsakis-2/+0
2018-04-14Rollup merge of #49922 - f-bro:zmiri, r=oli-obkkennytm-2/+0
Remove -Zmiri debugging option
2018-04-13Don't abort const eval due to long running evals, just warnOliver Schneider-3/+0
2018-04-13Remove -Z miri debugging optionFabio B-2/+0
2018-04-12Auto merge of #49558 - Zoxc:sync-misc, r=michaelwoeristerbors-132/+89
Even more thread-safety changes r? @michaelwoerister
2018-04-11Implementation of `#[repr(packed(n))]` RFC 1399.Cameron Hart-16/+21
2018-04-10Make Session.injected_panic_runtime thread-safeJohn Kåre Alsaker-2/+2
2018-04-10Make Session.injected_allocator and Session.allocator_kind thread-safeJohn Kåre Alsaker-4/+4