| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-07-05 | Use for<'tcx> fn pointers in Providers, instead of having Providers<'tcx>. | Eduard-Mihai Burtescu | -2/+2 | |
| 2020-07-02 | Rollup merge of #73724 - CryZe:wasm-saturating-casts, r=alexcrichton | Manish Goregaokar | -0/+2 | |
| Use WASM's saturating casts if they are available WebAssembly supports saturating floating point to integer casts behind a target feature. The feature is already available on many browsers. Beginning with 1.45 Rust will start defining the behavior of floating point to integer casts to be saturating as well. For this Rust constructs additional checks on top of the `fptoui` / `fptosi` instructions it emits. Here we introduce the possibility for the codegen backend to construct saturating casts itself and only fall back to constructing the checks ourselves if that is not possible. Resolves part of #73591 | ||||
| 2020-07-02 | Use WASM's saturating casts if they are available | Christopher Serr | -0/+2 | |
| WebAssembly supports saturating floating point to integer casts behind a target feature. The feature is already available on many browsers. Beginning with 1.45 Rust will start defining the behavior of floating point to integer casts to be saturating as well. For this Rust constructs additional checks on top of the `fptoui` / `fptosi` instructions it emits. Here we introduce the possibility for the codegen backend to construct saturating casts itself and only fall back to constructing the checks ourselves if that is not possible. | ||||
| 2020-06-29 | add spans to injected coverage counters | Rich Kadel | -0/+52 | |
| added regions with counter expressions and counters. Added codegen_llvm/coverageinfo mod for upcoming coverage map Move coverage region collection to CodegenCx finalization Moved from `query coverageinfo` (renamed from `query coverage_data`), as discussed in the PR at: https://github.com/rust-lang/rust/pull/73684#issuecomment-649882503 Address merge conflict in MIR instrument_coverage test The MIR test output format changed for int types. moved debug messages out of block.rs This makes the block.rs calls to add coverage mapping data to the CodegenCx much more concise and readable. move coverage intrinsic handling into llvm impl I realized that having half of the coverage intrinsic handling in `rustc_codegen_ssa` and half in `rustc_codegen_llvm` meant that any non-llvm backend would be bound to the same decisions about how the coverage-related MIR terminators should be handled. To fix this, I moved the non-codegen portion of coverage intrinsic handling into its own trait, and implemented it in `rustc_codegen_llvm` alongside `codegen_intrinsic_call`. I also added the (required?) stubs for the new intrinsics to `IntrepretCx::emulate_intrinsic()`, to ensure calls to this function do not fail if called with these new but known intrinsics. address PR Feedback on 28 June 2020 2:48pm PDT | ||||
| 2020-06-21 | Make is_freeze and is_copy_modulo_regions take TyCtxtAt | Ralf Jung | -1/+1 | |
| 2020-06-15 | [WIP] injects llvm intrinsic instrprof.increment for coverage reports | Rich Kadel | -0/+9 | |
| This initial version only injects counters at the top of each function. Rust Coverage will require injecting additional counters at each conditional code branch. | ||||
| 2020-05-29 | Improve inline asm error diagnostics | Amanieu d'Antras | -1/+1 | |
| 2020-05-18 | Move InlineAsmTemplatePiece and InlineAsmOptions to librustc_ast | Amanieu d'Antras | -1/+2 | |
| 2020-05-18 | Implement asm! codegen | Amanieu d'Antras | -1/+42 | |
| 2020-05-08 | Remove ast::{Ident, Name} reexports. | Camille GILLOT | -3/+2 | |
| 2020-05-02 | fix rustdoc warnings | Tshepang Lekhonkhobe | -1/+1 | |
| 2020-04-26 | codegen_llvm: Simplify logic for relaxing PIC into PIE | Vadim Petrochenkov | -4/+0 | |
| 2020-04-05 | Remove Arcs in queries. | Camille GILLOT | -2/+1 | |
| 2020-04-02 | use direct import for ErrorReported | Mazdak Farrokhzad | -1/+1 | |
| 2020-04-02 | nix rustc_target::abi::* reexport in ty::layout | Mazdak Farrokhzad | -18/+16 | |
| 2020-03-30 | rustc -> rustc_middle part 3 (rustfmt) | Mazdak Farrokhzad | -6/+6 | |
| 2020-03-30 | rustc -> rustc_middle part 2 | Mazdak Farrokhzad | -26/+26 | |
| 2020-03-27 | Rename TyLayout to TyAndLayout. | Ana-Maria Mihalache | -11/+11 | |
| 2020-03-26 | Rename asm! to llvm_asm! | Amanieu d'Antras | -3/+3 | |
| asm! is left as a wrapper around llvm_asm! to maintain compatibility. | ||||
| 2020-03-19 | Refactorings to begin getting rid of rustc_codegen_utils | Mark Mansi | -6/+57 | |
| 2020-03-16 | use direct imports for `rustc::{lint, session}`. | Mazdak Farrokhzad | -2/+2 | |
| 2020-03-13 | Auto merge of #67502 - Mark-Simulacrum:opt-catch, r=Mark-Simulacrum | bors | -1/+0 | |
| 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-06 | fix various typos | Matthias Krüger | -1/+1 | |
| 2020-03-05 | Remove eh_unwind_resume lang item | Amanieu d'Antras | -1/+0 | |
| 2020-02-29 | Rename `syntax` to `rustc_ast` in source code | Vadim Petrochenkov | -2/+2 | |
| 2020-02-08 | rustc_codegen_ssa: remove unnecessary source_locations_enabled. | Eduard-Mihai Burtescu | -6/+1 | |
| 2020-02-08 | rustc_codegen_llvm: remove InternalDebugLocation and simplify dbg_var_addr. | Eduard-Mihai Burtescu | -1/+0 | |
| 2020-02-03 | rustc_codegen_ssa: split declare_local into create_dbg_var and dbg_var_addr. | Eduard-Mihai Burtescu | -6/+22 | |
| 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. | ||||
