about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
AgeCommit message (Collapse)AuthorLines
2019-06-19Weave the alignment through `ByRef`Oliver Scherer-4/+5
2019-06-18Auto merge of #59625 - immunant:copy_variadics_typealias, r=eddybbors-27/+16
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-18Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-22/+22
2019-06-18rustc: reintroduce lifetime bounds where necessary.Eduard-Mihai Burtescu-2/+2
2019-06-18rustc: remove unused lifetimes.Eduard-Mihai Burtescu-1/+1
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-50/+50
2019-06-17Expose `VaListImpl` as the Rust equivalent of `__va_list_tag` and implement ↵Andrei Homescu-27/+16
Clone for it.
2019-06-17remove _by_hir_id if there is no NodeId counterpartljedrz-1/+1
2019-06-16Separate librustc_codegen_ssa modulechansuke-95/+94
2019-06-15Auto merge of #59752 - Zoxc:dylib-fix, r=alexcrichtonbors-15/+8
Limit dylib symbols This makes `windows-gnu` match the behavior of `windows-msvc`. It probably doesn't make sense to export these symbols on other platforms either.
2019-06-14Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-6/+1
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-35/+35
2019-06-12Add a limit_rdylib_exports option and disable it for SolarisJohn Kåre Alsaker-7/+4
2019-06-12Limit dylib symbolsJohn Kåre Alsaker-9/+5
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-64/+54
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-33/+33
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-13/+13
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-16/+16
2019-06-12Rollup merge of #61688 - RalfJung:is-floating-point, r=cramertjMazdak Farrokhzad-2/+2
is_fp and is_floating_point do the same thing, remove the former also consistently mark all these `is_*` methods for inlining
2019-06-11is_fp and is_floating_point do the same thing, remove the formerRalf Jung-2/+2
also consistently mark all these is_* methods for inlining
2019-06-11Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-4/+1
2019-06-11rustc_codegen_*: deny(unused_lifetimes).Eduard-Mihai Burtescu-8/+9
2019-06-08Remove unused `#![feature(custom_attribute)]`sVadim Petrochenkov-1/+0
2019-06-07Revert "Make LocalAnalizer visitor iterate instead of recurse"Santiago Pastorino-48/+37
This reverts commit 0cfaa28bc5edda198571fca9410cbc9f71b8d17a.
2019-06-06Rollup merge of #61559 - spastorino:make-visitors-iterate, r=oli-obkMazdak Farrokhzad-37/+48
Make visitors iterate r? @oli-obk The second commit is not completely equivalent, unsure if the code is wrong or not. Tests pass though, otherwise we would need to iterate in the opposite direction as it happened in other parts of the code.
2019-06-06Make LocalAnalizer visitor iterate instead of recurseSantiago Pastorino-37/+48
2019-06-05Aggregation of drive-by cosmetic changes.Alexander Regueiro-37/+38
2019-06-05Add `walk_chain`.Nicholas Nethercote-8/+1
This combines multiple `HygieneData::with` calls on a hot path.
2019-06-03Auto merge of #59148 - lcnr:unchecked_maths, r=eddybbors-0/+6
add support for unchecked math add compiler support for ```rust /// Returns the result of an unchecked addition, resulting in /// undefined behavior when `x + y > T::max_value()` or `x + y < T::min_value()`. pub fn unchecked_add<T>(x: T, y: T) -> T; /// Returns the result of an unchecked substraction, resulting in /// undefined behavior when `x - y > T::max_value()` or `x - y < T::min_value()`. pub fn unchecked_sub<T>(x: T, y: T) -> T; /// Returns the result of an unchecked multiplication, resulting in /// undefined behavior when `x * y > T::max_value()` or `x * y < T::min_value()`. pub fn unchecked_mul<T>(x: T, y: T) -> T; ``` cc https://github.com/rust-lang/rfcs/issues/2508
2019-06-03add support for unchecked mathlcnr/Bastian Kauschke-0/+6
2019-06-02remove last dependency of codegen on rustc_mirMark Mansi-1/+0
2019-06-02query-ify const_fieldMark Mansi-7/+2
2019-06-02remove unneeded depsMark Mansi-3/+0
2019-06-02remove as_mono_itemMark Mansi-19/+22
2019-06-02move codegenunitext to rustc::mir::monoMark Mansi-1/+0
2019-06-02move monoitemext to inherent methodsMark Mansi-17/+18
2019-06-02move DefPathBasedNames to ty::print::obsoleteMark Mansi-0/+1
2019-06-02remove reexports of mir::mono::{MonoItem,CodegenUnit}Mark Mansi-3/+3
2019-06-02deduplicate ty::Instance constructorsMark Mansi-6/+6
2019-06-02remove reexport of rustc::ty::InstanceMark Mansi-8/+4
2019-06-01Auto merge of #61350 - RalfJung:alloc, r=oli-obkbors-1/+1
light refactoring of global AllocMap * rename AllocKind -> GlobalAlloc. This stores the allocation itself, not just its kind. * rename the methods that allocate stuff to have consistent names. Cc @oli-obk
2019-06-01Auto merge of #61394 - pietroalbini:rollup-lzugnb4, r=pietroalbinibors-1/+1
Rollup of 11 pull requests Successful merges: - #60897 (error: remove StringError from Debug output) - #61304 (Speed up Azure CI installing Windows dependencies) - #61319 (Swap order of `unsafe async fn` to `async unsafe fn`) - #61342 (Set ellipsis_inclusive_range_patterns lint to warn) - #61344 (Add regression test for const generics ICE) - #61359 (Fix links in Deref documentation) - #61363 (Stabilize iter_nth_back feature) - #61369 (Fixed lifetime misspelling) - #61372 (Migrate some books to mdbook version 0.2) - #61374 (Explicitly suggest 'type_ascription' feature) - #61382 (Fixed a typo in core::convert::AsMut) Failed merges: r? @ghost
2019-05-31Update rustc-demangle version.Eduard-Mihai Burtescu-1/+1
2019-05-31Rollup merge of #61369 - Vallentin:patch-1, r=varkorPietro Albini-1/+1
Fixed lifetime misspelling
2019-05-31Auto merge of #60166 - oli-obk:type_name, r=eddybbors-6/+6
Make the `type_name` intrinsic deterministic cc @eddyb for the printing infrastructure cc @Centril for the deterministic (coherent?) output r? @sfackler
2019-05-30Fixed lifetime misspellingChristian Vallentin-1/+1
2019-05-30Auto merge of #61253 - nnethercote:avoid-hygiene_data-lookups, r=petrochenkovbors-1/+1
Avoid `hygiene_data` lookups These commits mostly introduce compound operations that allow two close adjacent `hygiene_data` lookups to be combined. r? @petrochenkov
2019-05-30light refactoring of global AllocMapRalf Jung-1/+1
* rename AllocKind -> GlobalAlloc. This stores the allocation itself, not just its kind. * rename the methods that allocate stuff to have consistent names.
2019-05-30Make the `type_name` intrinsic's output deterministicOliver Scherer-6/+6
2019-05-29Rollup merge of #61297 - eddyb:forsaken-stats, r=nagisaMazdak Farrokhzad-77/+3
Remove LLVM instruction stats and other (obsolete) codegen stats. Both `-Z count_llvm_insns` and `-Z codegen-stats` are removed, as (AFAIK) they have been of little use in the last few years, especially after the transition to MIR->LLVM codegen. Other than for the LLVM instruction counts, `-Z codegen-stats` has long been obsoleted anyway. r? @nagisa cc @rust-lang/compiler