| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-03-19 | Refactorings to begin getting rid of rustc_codegen_utils | Mark Mansi | -262/+0 | |
| 2020-03-16 | use direct imports for `rustc::{lint, session}`. | Mazdak Farrokhzad | -1/+1 | |
| 2020-03-06 | fix various typos | Matthias Krüger | -1/+1 | |
| 2020-01-23 | Add projection query for upstream drop-glue instances. | Michael Woerister | -22/+3 | |
| This reduces the amount of invalidated data when new types are add to upstream crates. | ||||
| 2020-01-20 | Make sure that all upstream generics get re-exported from Rust dylibs. | Michael Woerister | -36/+76 | |
| 2020-01-05 | Remove rustc_hir reexports in rustc::hir. | Mazdak Farrokhzad | -2/+2 | |
| 2020-01-04 | extract rustc::middle::codegen_fn_attrs | Mazdak Farrokhzad | -1/+1 | |
| 2020-01-01 | Rename `syntax_pos` to `rustc_span` in source code | Vadim Petrochenkov | -1/+1 | |
| 2019-12-22 | Format the world | Mark Rousskov | -8/+6 | |
| 2019-12-16 | Fix handling of wasm import modules and names | Alex Crichton | -4/+24 | |
| The WebAssembly targets of rustc have weird issues around name mangling and import the same name from different modules. This all largely stems from the fact that we're using literal symbol names in LLVM IR to represent what a function is called when it's imported, and we're not using the wasm-specific `wasm-import-name` attribute. This in turn leads to two issues: * If, in the same codegen unit, the same FFI symbol is referenced twice then rustc, when translating to LLVM IR, will only reference one symbol from the first wasm module referenced. * There's also a bug in LLD [1] where even if two codegen units reference different modules, having the same symbol names means that LLD coalesces the symbols and only refers to one wasm module. Put another way, all our imported wasm symbols from the environment are keyed off their LLVM IR symbol name, which has lots of collisions today. This commit fixes the issue by implementing two changes: 1. All wasm symbols with `#[link(wasm_import_module = "...")]` are mangled by default in LLVM IR. This means they're all given unique names. 2. Symbols then use the `wasm-import-name` attribute to ensure that the WebAssembly file uses the correct import name. When put together this should ensure we don't trip over the LLD bug [1] and we also codegen IR correctly always referencing the right symbols with the right import module/name pairs. Closes #50021 Closes #56309 Closes #63562 [1]: https://bugs.llvm.org/show_bug.cgi?id=44316 | ||||
| 2019-10-21 | Change `SymbolName::name` from `InternedString` to `Symbol`. | Nicholas Nethercote | -13/+10 | |
| This requires changing the `PartialOrd`/`Ord` implementations to look at the chars rather than the symbol index. | ||||
| 2019-06-20 | rename hir::map::get_by_hir_id to get | ljedrz | -1/+1 | |
| 2019-06-14 | Unify all uses of 'gcx and 'tcx. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-12 | rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-12 | rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`. | Eduard-Mihai Burtescu | -1/+1 | |
| 2019-06-02 | move monoitemext to inherent methods | Mark Mansi | -2/+1 | |
| 2019-06-02 | remove reexports of mir::mono::{MonoItem,CodegenUnit} | Mark Mansi | -1/+2 | |
| 2019-06-02 | remove reexport of rustc::ty::Instance | Mark Mansi | -2/+1 | |
| 2019-05-31 | rustc_codegen_utils: remove symbol name dumping/checking harness, and mw impl. | Eduard-Mihai Burtescu | -15/+3 | |
| 2019-05-31 | rustc_codegen_utils: add harness for dumping/checking symbol names, and mw ↵ | Eduard-Mihai Burtescu | -2/+14 | |
| mangling impl. | ||||
| 2019-05-31 | rustc_codegen_utils: add new mangling scheme implementation. | Eduard-Mihai Burtescu | -486/+60 | |
| 2019-05-30 | Symbol name predicate list printed `+` excessively | Oliver Scherer | -1/+1 | |
| 2019-05-29 | Rollup merge of #61195 - davidtwco:seg-fault-mangler, r=eddyb | Mazdak Farrokhzad | -0/+3 | |
| Special-case `.llvm` in mangler Fixes #60925 and fixes #53912. r? @michaelwoerister cc @eddyb | ||||
| 2019-05-28 | Special-case `.llvm` in mangler to fix segfaults | David Wood | -0/+3 | |
| This commit special cases `.llvm` in the mangler to print `.llvm$6d$` instead. This will avoid segfaults when names in a user's Rust code are `llvm`. | ||||
| 2019-05-26 | centralize Scalar size sanity checks and also do them in release builds | Ralf Jung | -1/+1 | |
| 2019-05-25 | Only print integers in symbol path's constants | Oliver Scherer | -2/+10 | |
| 2019-05-25 | rustc: integrate ty::Const into ty::print as print_const. | Eduard-Mihai Burtescu | -0/+8 | |
| 2019-05-21 | Remove impls for `InternedString`/string equality. | Nicholas Nethercote | -2/+2 | |
| `Symbol` received the same treatment in #60630. Also, we can derive `PartialEq` for `InternedString`. | ||||
| 2019-05-20 | Introduce `InternedString::intern`. | Nicholas Nethercote | -6/+6 | |
| `InternedString::intern(x)` is preferable to `Symbol::intern(x).as_interned_str()`, because the former involves one call to `with_interner` while the latter involves two. The case within InternedString::decode() is particularly hot, and this change reduces the number of `with_interner` calls by up to 13%. | ||||
| 2019-03-29 | rustc(codegen): uncache `def_symbol_name` prefix from `symbol_name`. | Eduard-Mihai Burtescu | -38/+15 | |
| 2019-03-24 | Merge `DefPathData::VariantCtor` and `DefPathData::StructCtor` | Vadim Petrochenkov | -1/+1 | |
| 2019-03-15 | rustc: provide DisambiguatedDefPathData in ty::print. | Eduard-Mihai Burtescu | -4/+22 | |
| 2019-03-15 | rustc: slice substs in ty::print instead of passing the full ones. | Eduard-Mihai Burtescu | -2/+2 | |
| 2019-03-15 | rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt. | Eduard-Mihai Burtescu | -87/+90 | |
| 2019-03-15 | rustc: remove the ability for pretty-printers to override nesting. | Eduard-Mihai Burtescu | -4/+4 | |
| 2019-03-15 | rustc: don't thread existential projections through path_generic_args. | Eduard-Mihai Burtescu | -9/+45 | |
| 2019-03-15 | rustc: make `pretty_path_generic_args`' task as simple as possible. | Eduard-Mihai Burtescu | -4/+9 | |
| 2019-03-15 | rustc: print elided regions as '_ instead of nothing, and use a separate ↵ | Eduard-Mihai Burtescu | -1/+1 | |
| check when optional. | ||||
| 2019-03-15 | rustc: move ty::print::PrintConfig's fields to FmtPrinter. | Eduard-Mihai Burtescu | -10/+9 | |
| 2019-03-15 | rustc_codegen_utils: print all nominal types as paths, in symbol names. | Eduard-Mihai Burtescu | -2/+28 | |
| 2019-03-15 | rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter. | Eduard-Mihai Burtescu | -6/+3 | |
| 2019-03-15 | rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>". | Eduard-Mihai Burtescu | -45/+23 | |
| 2019-03-15 | rustc: support overriding type printing in ty::print::Printer. | Eduard-Mihai Burtescu | -0/+8 | |
| 2019-03-15 | rustc: support overriding region printing in ty::print::Printer. | Eduard-Mihai Burtescu | -1/+16 | |
| 2019-03-15 | rustc: pass ty::print::PrintCx by value. | Eduard-Mihai Burtescu | -48/+69 | |
| 2019-03-15 | rustc: split off most of ty::print::PrintCx's fields into a separate struct. | Eduard-Mihai Burtescu | -3/+4 | |
| 2019-03-15 | rustc: uniformize ty::print's error handling by requiring Result. | Eduard-Mihai Burtescu | -14/+20 | |
| 2019-03-15 | rustc: remove `ty::print::FORCE_ABSOLUTE` altogether. | Eduard-Mihai Burtescu | -5/+3 | |
| 2019-03-15 | rustc: move `...::<impl ...>` printing into `pretty_path_qualified`. | Eduard-Mihai Burtescu | -7/+34 | |
| 2019-03-15 | rustc: move <...>-less impl path special-case to pretty_path_qualified. | Eduard-Mihai Burtescu | -5/+13 | |
