| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-01-09 | Precompile CGUs while the main thread has the implicit job server token | John Kåre Alsaker | -0/+2 | |
| 2020-01-09 | Compile some CGUs in parallel at the start of codegen | John Kåre Alsaker | -4/+3 | |
| 2020-01-05 | Remove rustc_hir reexports in rustc::hir. | Mazdak Farrokhzad | -4/+4 | |
| 2020-01-04 | canonicalize FxHash{Map,Set} imports | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-01 | Rename `syntax_pos` to `rustc_span` in source code | Vadim Petrochenkov | -6/+6 | |
| 2019-12-22 | Format the world | Mark Rousskov | -28/+19 | |
| 2019-12-03 | rustc_codegen_ssa: use FnAbi::of_instance wherever possible. | Eduard-Mihai Burtescu | -2/+3 | |
| 2019-12-03 | rustc_codegen_ssa: take a FnAbi instead of a FnSig in declare_fn. | Eduard-Mihai Burtescu | -2/+3 | |
| 2019-12-03 | rustc_codegen_ssa: remove define_fn and define_internal_fn. | Eduard-Mihai Burtescu | -14/+0 | |
| 2019-11-21 | Aggregation of drive-by cosmetic changes. | Alexander Regueiro | -8/+12 | |
| 2019-11-21 | reduce size of hir::ExprKind | Mazdak Farrokhzad | -2/+2 | |
| 2019-11-03 | rustc_codegen_ssa: rename ArgTypeMethods to ArgAbiMethods. | Eduard-Mihai Burtescu | -4/+4 | |
| 2019-11-03 | rustc_target: rename {Fn,Arg}Type to {Fn,Arg}Abi. | Eduard-Mihai Burtescu | -10/+10 | |
| 2019-10-31 | rustc_codegen_ssa: hide address ops from the declare_local interface. | Eduard-Mihai Burtescu | -3/+6 | |
| 2019-10-31 | rustc_codegen_ssa: move debuginfo scopes into FunctionDebugContext. | Eduard-Mihai Burtescu | -12/+4 | |
| 2019-10-31 | rustc_codegen_ssa: change set_var_name back to taking a &str. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-10-31 | rustc_codegen_ssa: move debuginfo-related things to a new mir::debuginfo module. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-10-28 | Rollup merge of #65792 - Centril:split-syntax-2, r=petrochenkov | Mazdak Farrokhzad | -1/+1 | |
| rustc, rustc_passes: reduce deps on rustc_expand Part of #65324. r? @petrochenkov | ||||
| 2019-10-27 | Always use consteval to codegen caller_location. | Adam Perry | -2/+0 | |
| 2019-10-27 | Panicking infra uses &core::panic::Location. | Adam Perry | -9/+0 | |
| This allows us to remove `static_panic_msg` from the SSA<->LLVM boundary, along with its fat pointer representation for &str. Also changes the signature of PanicInfo::internal_contructor to avoid copying. Closes #65856. | ||||
| 2019-10-27 | Implement core::intrinsics::caller_location. | Adam Perry | -0/+4 | |
| Returns a `&core::panic::Location` corresponding to where it was called, also making `Location` a lang item. | ||||
| 2019-10-27 | rustc, rustc_passes: don't depend on syntax_expand. | Mazdak Farrokhzad | -1/+1 | |
| This is done by moving some data definitions to syntax::expand. | ||||
| 2019-10-21 | Use `Symbol` for codegen unit names. | Nicholas Nethercote | -2/+2 | |
| This is a straightforward replacement except for two places where we have to convert to `LocalInternedString` to get a stable sort. | ||||
| 2019-10-16 | move syntax::ext to new crate syntax_expand | Mazdak Farrokhzad | -1/+1 | |
| 2019-10-13 | Remove MiscMethods::instances | bjorn3 | -2/+2 | |
| 2019-10-13 | s/FuncId/Function | bjorn3 | -9/+9 | |
| 2019-10-13 | Remove is_const_integral method from ConstMethods | bjorn3 | -3/+1 | |
| 2019-10-13 | Introduce FuncId backend type | bjorn3 | -7/+10 | |
| 2019-10-10 | Auto merge of #59546 - sfanxiang:interminable-ub, r=nagisa | bors | -0/+1 | |
| Add llvm.sideeffect to potential infinite loops and recursions LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 **UPDATE:** [Mentoring instructions here](https://github.com/rust-lang/rust/pull/59546#issuecomment-515072429) to unstall this PR | ||||
| 2019-09-29 | remove indexed_vec re-export from rustc_data_structures | csmoe | -1/+1 | |
| 2019-09-28 | Add llvm.sideeffect to potential infinite loops and recursions | Xiang Fan | -0/+1 | |
| LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728 | ||||
| 2019-09-26 | Rollup merge of #64772 - Mark-Simulacrum:no-tyctxt-tx, r=eddyb | Mazdak Farrokhzad | -1/+7 | |
| Remove tx_to_llvm_workers from TyCtxt This can be kept within the codegen backend crates entirely -- there's no reason for us to create it outside and attempt to hold it in the (global) context. Changes here aren't really too easily reviewable I suspect -- not sure if they can be cleaned up by splitting into more commits though, it's just hard to reason about `Box<Any>` in general. If there are thoughts though I'd be happy to hear them. The primary goal of this PR is to get rid of the field on `rustc_interface::Queries`. | ||||
| 2019-09-25 | Remove tx_to_llvm_workers from TyCtxt | Mark Rousskov | -1/+7 | |
| This can be kept within the codegen backend crates entirely | ||||
| 2019-09-25 | Rename `sty` to `kind` | varkor | -1/+1 | |
| 2019-09-17 | Get rid of special const intrinsic query in favour of `const_eval` | Oliver Scherer | -2/+2 | |
| 2019-09-12 | codegen: be more explicit about setting giving names to allocas. | Eduard-Mihai Burtescu | -3/+2 | |
| 2019-09-06 | rustc_codegen_llvm: give names to non-alloca variable values. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-09-04 | Remove `LocalInternedString` uses from `librustc_codegen_llvm`. | Nicholas Nethercote | -3/+3 | |
| 2019-08-17 | Remove SyntaxContext from {ast, hir}::{GlobalAsm, InlineAsm} | Matthew Jasper | -0/+2 | |
| We now store it in the `Span` of the expression or item. | ||||
| 2019-08-02 | CTFE: simplify Value type by not checking for alignment | Ralf Jung | -1/+0 | |
| 2019-07-24 | Merge `rustc_allocator` into `libsyntax_ext` | Vadim Petrochenkov | -1/+1 | |
| 2019-07-12 | Replace `struct_tail` and `struct_lockstep_tails` with variants handling ↵ | Felix S. Klock II | -2/+3 | |
| normalization. The old struct tail functions did not deal with `<T as Trait>::A` and `impl Trait`, at least not explicitly. (We didn't notice this bug before because it is only exposed when the tail (post deep normalization) is not `Sized`, so it was a rare case to deal with.) For post type-checking (i.e. during codegen), there is now `struct_tail_erasing_lifetimes` and `struct_lockstep_tails_erasing_lifetimes`, which each take an additional `ParamEnv` argument to drive normalization. For pre type-checking cases where normalization is not needed, there is `struct_tail_without_normalization`. (Currently, the only instance of this is `Expectation::rvalue_hint`.) All of these new entrypoints work by calling out to common helper routines. The helpers are parameterized over a closure that handles the normalization. | ||||
| 2019-07-09 | Fix float add/mul reduction codegen | Nikita Popov | -0/+1 | |
| The accumulator is now respected for unordered reductions. | ||||
| 2019-07-03 | Remove needless lifetimes | Jeremy Stucki | -2/+2 | |
| 2019-06-19 | Weave the alignment through `ByRef` | Oliver Scherer | -0/+1 | |
| 2019-06-18 | Auto merge of #59625 - immunant:copy_variadics_typealias, r=eddyb | bors | -2/+2 | |
| Refactor C FFI variadics to more closely match their C counterparts, and add Clone implementation We had to make some changes to expose `va_copy` and `va_end` directly to users (mainly for C2Rust, but not exclusively): - redefine the Rust variadic structures to more closely correspond to C: `VaList` now matches `va_list`, and `VaListImpl` matches `__va_list_tag` - add `Clone` for `VaListImpl` - add explicit `as_va_list()` conversion function from `VaListImpl` to `VaList` - add deref coercion from `VaList` to `VaListImpl` - add support for the `asmjs` target All these changes were needed for use cases like: ```Rust let mut ap2 = va_copy(ap); vprintf(fmt, ap2); va_end(&mut ap2); ``` | ||||
| 2019-06-18 | rustc: remove unused lifetimes. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-18 | rustc: remove 'x: 'y bounds (except from comments/strings). | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-06-17 | Expose `VaListImpl` as the Rust equivalent of `__va_list_tag` and implement ↵ | Andrei Homescu | -2/+2 | |
| Clone for it. | ||||
| 2019-06-14 | Unify all uses of 'gcx and 'tcx. | Eduard-Mihai Burtescu | -6/+6 | |
