| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-01-07 | Remove support for datalayout upgrade | Nikita Popov | -16/+2 | |
| Only keep the downgrade code | ||||
| 2020-01-07 | Auto-upgrade data layouts for X86 address spaces | Nikita Popov | -0/+23 | |
| This is similar to the autoupdate LLVM performs internally. | ||||
| 2020-01-05 | Remove rustc_hir reexports in rustc::hir. | Mazdak Farrokhzad | -2/+2 | |
| 2020-01-04 | canonicalize FxHash{Map,Set} imports | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-02 | Normalize `syntax::symbol` imports. | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-02 | Normalize `syntax::source_map` imports. | Mazdak Farrokhzad | -1/+1 | |
| 2019-12-22 | Format the world | Mark Rousskov | -96/+89 | |
| 2019-12-11 | rustc: Link LLVM directly into rustc again | Alex Crichton | -0/+2 | |
| This commit builds on #65501 continue to simplify the build system and compiler now that we no longer have multiple LLVM backends to ship by default. Here this switches the compiler back to what it once was long long ago, which is linking LLVM directly to the compiler rather than dynamically loading it at runtime. The `codegen-backends` directory of the sysroot no longer exists and all relevant support in the build system is removed. Note that `rustc` still supports a dynamically loaded codegen backend as it did previously, it just no longer supports dynamically loaded codegen backends in its own sysroot. Additionally as part of this the `librustc_codegen_llvm` crate now once again explicitly depends on all of its crates instead of implicitly loading them through the sysroot. This involved filling out its `Cargo.toml` and deleting all the now-unnecessary `extern crate` annotations in the header of the crate. (this in turn required adding a number of imports for names of macros too). The end results of this change are: * Rustbuild's build process for the compiler as all the "oh don't forget the codegen backend" checks can be easily removed. * Building `rustc_codegen_llvm` is much simpler since it's simply another compiler crate. * Managing the dependencies of `rustc_codegen_llvm` is much simpler since it's "just another `Cargo.toml` to edit" * The build process should be a smidge faster because there's more parallelism in the main rustc build step rather than splitting `librustc_codegen_llvm` out to its own step. * The compiler is expected to be slightly faster by default because the codegen backend does not need to be dynamically loaded. * Disabling LLVM as part of rustbuild is still supported, supporting multiple codegen backends is still supported, and dynamic loading of a codegen backend is still supported. | ||||
| 2019-12-03 | rustc: take a PolyFnSig instead of an FnSig in FnAbi::of_fn_ptr. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-12-03 | rustc: rename FnAbi::new to FnAbi::of_fn_ptr. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-12-03 | rustc_codegen_ssa: take a FnAbi instead of a FnSig in declare_fn. | Eduard-Mihai Burtescu | -4/+6 | |
| 2019-11-03 | Configure LLVM module PIC level | Samuel Holland | -0/+4 | |
| As of LLVM 9, this is required for 32-bit PowerPC to properly generate PLT references. Previously, only BigPIC was supported; now LLVM supports both BigPIC and SmallPIC, and there is no default value provided. | ||||
| 2019-10-13 | Remove MiscMethods::instances | bjorn3 | -5/+5 | |
| 2019-10-13 | Inline functions from cg_ssa::callee and remove the mod | bjorn3 | -3/+16 | |
| Fixes #65271 | ||||
| 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-10-05 | Replaces some instances of `as *[const | mut] _` with `.cast()` | memoryruins | -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-04 | Remove `LocalInternedString` uses from `librustc_codegen_llvm`. | Nicholas Nethercote | -2/+2 | |
| 2019-08-04 | tweak output and tests | Esteban Küber | -4/+1 | |
| 2019-08-04 | review comments: clean up | Esteban Küber | -3/+3 | |
| 2019-08-03 | Point to local place span on "type too big" error | Esteban Küber | -1/+9 | |
| 2019-07-09 | Strip function pointer alignment for older LLVM versions | Nikita Popov | -6/+17 | |
| 2019-06-18 | rustc: remove 'x: 'y bounds (except from comments/strings). | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-15 | Remove unnecessary `.clone()` | Shotaro Yamada | -1/+1 | |
| 2019-06-14 | Unify all uses of 'gcx and 'tcx. | Eduard-Mihai Burtescu | -4/+4 | |
| 2019-06-12 | Run `rustfmt --file-lines ...` for changes from previous commits. | Eduard-Mihai Burtescu | -6/+7 | |
| 2019-06-12 | rustc: remove some unnecessary lifetimes in -> TyCtxt methods. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-12 | rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -4/+4 | |
| 2019-06-12 | rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -3/+3 | |
| 2019-06-06 | Add intrinsics for floating-point min and max | varkor | -0/+5 | |
| 2019-06-02 | remove reexports of mir::mono::{MonoItem,CodegenUnit} | Mark Mansi | -1/+1 | |
| 2019-06-02 | remove reexport of rustc::ty::Instance | Mark Mansi | -2/+1 | |
| 2019-05-29 | rustc_codegen_llvm: remove LLVM instruction count stats. | Eduard-Mihai Burtescu | -11/+0 | |
| 2019-05-04 | removing param_env from pointee_info_at | Saleem Jaffer | -2/+4 | |
| 2019-05-04 | adding HasParamEnv trait | Saleem Jaffer | -1/+7 | |
| 2019-05-04 | resolving conflicts | Saleem Jaffer | -1/+0 | |
| 2019-05-04 | Remove old pointee_info_at body. | Daan de Graaf | -1/+1 | |
| 2019-03-30 | Remove redundant imports | Fabian Drinck | -1/+0 | |
| 2019-03-29 | Move get_param and set_value_name | bjorn3 | -5/+0 | |
| 2019-03-29 | Don't use c_uint in cg_ssa | bjorn3 | -2/+2 | |
| 2019-03-27 | Use informational target machine for metadata | Simonas Kazlauskas | -1/+1 | |
| Since there is nothing to optimise there... | ||||
| 2019-02-25 | librustc_codegen_llvm: deny(elided_lifetimes_in_paths) | Mazdak Farrokhzad | -1/+1 | |
| 2019-02-24 | Auto merge of #58304 - gnzlbg:simd_saturated, r=nagisa | bors | -8/+18 | |
| Add generic simd saturated add/sub intrinsics r? @eddyb | ||||
| 2019-02-18 | librustc_codegen_llvm => 2018 | Taiki Endo | -15/+15 | |
| 2019-02-14 | Rollup merge of #58308 - gnzlbg:context_insert_intr, r=eddyb | Mazdak Farrokhzad | -12/+17 | |
| Extract block to insert an intrinsic into its own function r? @eddyb | ||||
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -2/+2 | |
| 2019-02-08 | Add simd_saturating_{add,sub} intrinsics | gnzlbg | -8/+18 | |
| 2019-02-08 | Extract block to insert an intrinsic into its own function | gnzlbg | -12/+17 | |
| 2019-01-29 | Use LLVM intrinsics for saturating add/sub | Nikita Popov | -0/+24 | |
| 2019-01-24 | Implement optimize(size) and optimize(speed) | Simonas Kazlauskas | -2/+3 | |
