summary refs log tree commit diff
path: root/src/librustc/session
AgeCommit message (Collapse)AuthorLines
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-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
2018-04-10Make Session.dependency_formats thread-safeJohn Kåre Alsaker-3/+3
2018-04-10Make Session.crate_types thread-safeJohn Kåre Alsaker-2/+2
2018-04-10Make sure Session.plugin_attributes is only used on one threadJohn Kåre Alsaker-2/+2
2018-04-10Make sure Session.plugin_llvm_passes is only used on one threadJohn Kåre Alsaker-2/+2
2018-04-10Make Session.has_global_allocator thread-safeJohn Kåre Alsaker-2/+2
2018-04-10Make sure Session.imported_macro_spans is only used on one threadJohn Kåre Alsaker-2/+2
2018-04-10Make Session.crate_disambiguator thread-safeJohn Kåre Alsaker-6/+3
2018-04-10Make sure Session.next_node_id is only used on one threadJohn Kåre Alsaker-2/+2
2018-04-10Make Session.code_stats thread-safeJohn Kåre Alsaker-2/+2
2018-04-10Make Session::features_untracked thread-safeJohn Kåre Alsaker-11/+5
2018-04-10Disable optimization fuel when using multiple threadsJohn Kåre Alsaker-7/+15
2018-04-10Remove Cell from const_eval_stack_frame_limit and const_eval_step_limitJohn Kåre Alsaker-4/+4
2018-04-10Make sure Session.incr_comp_session is only used on one threadJohn Kåre Alsaker-2/+2
2018-04-10Make Session.plugin_registrar_fn and Session.derive_registrar_fn thread-safeJohn Kåre Alsaker-4/+4
2018-04-10Combine Session.entry_fn and Session.entry_type and make them thread-safeJohn Kåre Alsaker-7/+3
2018-04-10Make PerfStats thread-safe and remove unused fieldsJohn Kåre Alsaker-58/+16
2018-04-10Make recursion_limit and type_length_limit thread-safeJohn Kåre Alsaker-7/+7