| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-04-05 | Stop importing int/float modules in librustc_* | Linus Färnstrand | -2/+0 | |
| 2020-04-02 | direct imports for langitem stuff | Mazdak Farrokhzad | -2/+2 | |
| 2020-04-02 | nix rustc_target::abi::* reexport in ty::layout | Mazdak Farrokhzad | -40/+38 | |
| 2020-04-01 | Rollup merge of #70616 - anyska:fieldplacement-rename, r=oli-obk | Dylan DPC | -1/+1 | |
| rustc_target::abi: rename FieldPlacement to FieldsShape. Originally suggested by @eddyb. | ||||
| 2020-03-31 | Use Place directly in codegen_place_to_pointer, it's Copy | Santiago Pastorino | -3/+3 | |
| 2020-03-31 | Use Place directly in evaluate_array_len, it's Copy | Santiago Pastorino | -2/+2 | |
| 2020-03-31 | Use Place directly in codegen_transmute, it's Copy | Santiago Pastorino | -2/+2 | |
| 2020-03-31 | Use Place directly on make_return_dest, it's Copy | Santiago Pastorino | -2/+2 | |
| 2020-03-31 | Use Place directly on codegen_drop_terminator, it's Copy | Santiago Pastorino | -2/+2 | |
| 2020-03-31 | rustc_target::abi: rename FieldPlacement to FieldsShape. | Ana-Maria Mihalache | -1/+1 | |
| 2020-03-30 | rustc -> rustc_middle part 3 (rustfmt) | Mazdak Farrokhzad | -9/+9 | |
| 2020-03-30 | rustc -> rustc_middle part 2 | Mazdak Farrokhzad | -35/+35 | |
| 2020-03-30 | Auto merge of #70449 - ecstatic-morse:visit-body, r=oli-obk | bors | -1/+1 | |
| Make `Visitor::visit_body` take a plain `&Body` `ReadOnlyBodyAndCache` has replaced `&Body` in many parts of the code base that don't care about basic block predecessors. This includes the MIR `Visitor` trait, which I suspect resulted in many unnecessary changes in #64736. This reverts part of that PR to reduce the number of places where we need to pass a `ReadOnlyBodyAndCache`. In the long term, we should either give `ReadOnlyBodyAndCache` more ergonomic name and replace all uses of `&mir::Body` with it at the cost of carrying an extra pointer everywhere, or use it only in places that actually need access to the predecessor cache. Perhaps there is an even nicer alternative. r? @Nashenas88 | ||||
| 2020-03-29 | Use `&` to do deref coercion for `ReadOnlyBodyAndCache` | Dylan MacKenzie | -1/+1 | |
| 2020-03-29 | Make `Visitor::visit_body` take a simple `Body` | Dylan MacKenzie | -1/+1 | |
| 2020-03-27 | Rename TyLayout to TyAndLayout. | Ana-Maria Mihalache | -12/+16 | |
| 2020-03-26 | Rename asm! to llvm_asm! | Amanieu d'Antras | -2/+2 | |
| asm! is left as a wrapper around llvm_asm! to maintain compatibility. | ||||
| 2020-03-25 | make Size::from* methods generic in the integer type they accept | Ralf Jung | -1/+1 | |
| 2020-03-23 | Evaluate repeat expression lengths as late as possible | Oliver Scherer | -0/+3 | |
| 2020-03-23 | Rollup merge of #70249 - lcnr:issue70125, r=eddyb | Mazdak Farrokhzad | -24/+19 | |
| handle ConstKind::Unresolved after monomorphizing fixes #70125 r? @bjorn3 | ||||
| 2020-03-22 | simplify eval_mir_constant | Bastian Kauschke | -13/+3 | |
| 2020-03-22 | handle unevaluated consts after monomophize | Bastian Kauschke | -21/+26 | |
| 2020-03-21 | Rollup merge of #70126 - wesleywiser:fix_miri_ice_neg_zst_enum_discr, ↵ | Dylan DPC | -1/+6 | |
| r=RalfJung,eddyb Fix ICE caused by truncating a negative ZST enum discriminant Fixes #70114 r? @oli-obk or @RalfJung | ||||
| 2020-03-21 | Fix ICE caused by truncating a negative ZST enum discriminant | Wesley Wiser | -1/+6 | |
| 2020-03-20 | Rollup merge of #69935 - davidtwco:issue-69925, r=eddyb | Yuki Okushi | -6/+11 | |
| codegen/mir: support polymorphic `InstanceDef`s cc #69925 This PR modifies the use of `subst_and_normalize_erasing_regions` on parts of the MIR bodies returned from `instance_mir`, so that `InstanceDef::CloneShim` and `InstanceDef::DropGlue` (where there is a type) do not perform substitutions. This avoids double substitutions and enables polymorphic `InstanceDef`s. r? @eddyb cc @nikomatsakis | ||||
| 2020-03-16 | use direct imports for `rustc::{lint, session}`. | Mazdak Farrokhzad | -1/+1 | |
| 2020-03-13 | Auto merge of #67502 - Mark-Simulacrum:opt-catch, r=Mark-Simulacrum | bors | -9/+4 | |
| Optimize catch_unwind to match C++ try/catch This refactors the implementation of catching unwinds to allow LLVM to inline the "try" closure directly into the happy path, avoiding indirection. This means that the catch_unwind implementation is (after this PR) zero-cost unless a panic is thrown. https://rust.godbolt.org/z/cZcUSB is an example of the current codegen in a simple case. Notably, the codegen is *exactly the same* if `-Cpanic=abort` is passed, which is clearly not great. This PR, on the other hand, generates the following assembly: ```asm # -Cpanic=unwind: push rbx mov ebx,0x2a call QWORD PTR [rip+0x1c53c] # <happy> mov eax,ebx pop rbx ret mov rdi,rax call QWORD PTR [rip+0x1c537] # cleanup function call call QWORD PTR [rip+0x1c539] # <unfortunate> mov ebx,0xd mov eax,ebx pop rbx ret # -Cpanic=abort: push rax call QWORD PTR [rip+0x20a1] # <happy> mov eax,0x2a pop rcx ret ``` Fixes #64224, and resolves #64222. | ||||
| 2020-03-13 | adjust enum naming | Ralf Jung | -12/+12 | |
| 2020-03-12 | rename panic_if_ intrinsics to assert_ | Ralf Jung | -4/+4 | |
| 2020-03-12 | codegen/mir: support polymorphic `InstanceDef`s | David Wood | -6/+11 | |
| This commit modifies the use of `subst_and_normalize_erasing_regions` on parts of the MIR bodies returned from `instance_mir`, so that `InstanceDef::CloneShim` and `InstanceDef::DropGlue` (where there is a type) do not perform substitutions. This avoids double substitutions and enables polymorphic `InstanceDef`s. Signed-off-by: David Wood <david@davidtw.co> | ||||
| 2020-03-11 | Rollup merge of #69850 - RalfJung:panic-bounds-check, r=eddyb | Mazdak Farrokhzad | -1/+5 | |
| panic_bounds_check: use caller_location, like PanicFnLangItem The `PanicFnLangItem` got switched to using `#[caller_location]` at some point, but `PanicBoundsCheckFnLangItem` was kept in the old style. For consistency, switch that one over to use `#[caller_location]` as well. This is also helpful for Miri as it means the `assert_panic` machine hook never needs to know the current `Span`. | ||||
| 2020-03-11 | Rollup merge of #66059 - RalfJung:panic-on-non-zero, r=eddyb | Mazdak Farrokhzad | -35/+92 | |
| mem::zeroed/uninit: panic on types that do not permit zero-initialization r? @eddyb @oli-obk Cc https://github.com/rust-lang/rust/issues/62825 Also see [this summary comment](https://github.com/rust-lang/rust/pull/66059#issuecomment-586734747) | ||||
| 2020-03-10 | Rollup merge of #69714 - spastorino:place-ref-lifetime, r=oli-obk | Mazdak Farrokhzad | -5/+5 | |
| Make PlaceRef take just one lifetime r? @eddyb | ||||
| 2020-03-09 | Improve readability | Ralf Jung | -2/+2 | |
| 2020-03-09 | panic_bounds_check: use caller_location, like PanicFnLangItem | Ralf Jung | -1/+5 | |
| 2020-03-06 | mir::Local is Copy we can pass it by value in these cases | Santiago Pastorino | -1/+1 | |
| 2020-03-05 | Remove eh_unwind_resume lang item | Amanieu d'Antras | -9/+4 | |
| 2020-03-04 | PlaceRef<'a, 'tcx> -> PlaceRef<'tcx> | Santiago Pastorino | -5/+5 | |
| 2020-03-03 | Make PlaceRef lifetimes of monomorphized_place_ty be both 'tcx | Santiago Pastorino | -1/+1 | |
| 2020-03-03 | Make PlaceRef lifetimes of codegen_place be both 'tcx | Santiago Pastorino | -3/+3 | |
| 2020-03-02 | Make PlaceRef lifetimes of LocalAnalyzer::process_place be both 'tcx | Santiago Pastorino | -1/+1 | |
| 2020-02-29 | simplify boolean expressions | Matthias Krüger | -2/+2 | |
| 2020-02-29 | move panic intrinsic codegen to helper function | Ralf Jung | -66/+92 | |
| 2020-02-29 | fmt | Ralf Jung | -6/+10 | |
| 2020-02-29 | make it even more conservative, and note some FIXMEs | Ralf Jung | -0/+2 | |
| 2020-02-29 | mem::zeroed/uninit: panic on types that do not permit zero-initialization | Ralf Jung | -3/+28 | |
| 2020-02-27 | don't use .into() to convert types into identical types. | Matthias Krüger | -3/+2 | |
| example: let s: String = format!("hello").into(); | ||||
| 2020-02-26 | Rollup merge of #69429 - matthiaskrgr:clippy_, r=estebank | Dylan DPC | -1/+1 | |
| remove redundant clones and import | ||||
| 2020-02-24 | no more codegen for miri_start_panic | Ralf Jung | -5/+2 | |
| 2020-02-24 | librustc{, codegen_ssa,infer,mir_build}: don't clone types that are copy | Matthias Krüger | -1/+1 | |
