about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/debuginfo
AgeCommit message (Collapse)AuthorLines
2020-04-27Change return type of `entry_fn` query to return a `LocalDefId`marmeladema-1/+1
2020-04-14Update the minimum external LLVM to 8Josh Stone-15/+3
LLVM 8 was released on March 20, 2019, over a year ago.
2020-04-05Fix performance regression in debuginfo file_metadata.Arlo Siemsen-11/+10
Finding the `SourceFile` associated with a `FileName` called `get_source_file` on the `SourceMap`, which does a linear search through all files in the `SourceMap`. This resolves the issue by passing the SourceFile in from the caller (which already had it available).
2020-04-02Add hash of source files in debug infoArlo Siemsen-3/+31
* Adds either an MD5 or SHA1 hash to the debug info. * Adds new unstable option `-Z src-hash-algorithm` to control the hashing algorithm.
2020-04-02nix rustc_target::abi::* reexport in ty::layoutMazdak Farrokhzad-53/+43
2020-03-30Use if let instead of match when only matching a single variant ↵Matthias Krüger-10/+8
(clippy::single_match) Makes code more compact and reduces nestig.
2020-03-30rustc -> rustc_middle part 3 (rustfmt)Mazdak Farrokhzad-6/+6
2020-03-30rustc -> rustc_middle part 2Mazdak Farrokhzad-19/+19
2020-03-27Rename TyLayout to TyAndLayout.Ana-Maria Mihalache-5/+5
2020-03-24normalize some imports, prefer direct ones.Mazdak Farrokhzad-1/+1
2020-03-23Rollup merge of #69968 - eddyb:tupled-closure-captures, r=nikomatsakisMazdak Farrokhzad-2/+2
rustc: keep upvars tupled in {Closure,Generator}Substs. Previously, each closure/generator capture's (aka "upvar") type was tracked as one "synthetic" type parameter in the closure/generator substs, and figuring out where the parent `fn`'s generics end and the synthetics start involved slicing at `tcx.generics_of(def_id).parent_count`. Needing to query `generics_of` limited @davidtwco (who wants to compute some `TypeFlags` differently for parent generics vs upvars, and `TyCtxt` is not available there), which is how I got started on this, but it's also possible that the `generics_of` queries are slowing down `{Closure,Generator}Substs` methods. To give an example, for a `foo::<T, U>::{closure#0}` with captures `x: X` and `y: Y`, substs are: * before this PR: `[T, U, /*kind*/, /*signature*/, X, Y]` * after this PR: `[T, U, /*kind*/, /*signature*/, (X, Y)]` You can see that, with this PR, no matter how many captures, the last 3 entries in the substs (or 5 for a generator) are always the "synthetic" ones, with the last one being the tuple of capture types. r? @nikomatsakis cc @Zoxc
2020-03-23Rollup merge of #69940 - tmiasko:llvm-api, r=hanna-kruppeMazdak Farrokhzad-1/+1
librustc_codegen_llvm: Replace deprecated API usage
2020-03-23rustc_codegen_llvm: don't generate static and vtable debuginfo for ↵Eduard-Mihai Burtescu-0/+10
-Cdebuginfo=1.
2020-03-23rustc_codegen_llvm: don't generate Self type debuginfo for methods for ↵Eduard-Mihai Burtescu-1/+6
-Cdebuginfo=1.
2020-03-23rustc_codegen_llvm: don't generate "lexical block" scopes for -Cdebuginfo=1.Eduard-Mihai Burtescu-4/+13
2020-03-21rustc: keep upvars tupled in {Closure,Generator}Substs.Eduard-Mihai Burtescu-2/+2
2020-03-20remove redundant returns (clippy::needless_return)Matthias Krüger-15/+13
2020-03-16use direct imports for `rustc::{lint, session}`.Mazdak Farrokhzad-3/+3
2020-03-15Rollup merge of #69357 - tmiasko:debuginfo-column, r=michaelwoeristerDylan DPC-43/+57
Emit 1-based column numbers in debuginfo * Use byte offsets instead of char position offsets. Resolves #67360. * Use 1-based offsets instead of 0-based ones. Resolves #65437. * Consistently omit column information for msvc targets, matching clang behaviour (previously columns have been omitted from `DILocation`, but not from `DILexicalBlock`).
2020-03-11librustc_codegen_llvm: Replace deprecated API usageTomasz Miąsko-1/+1
2020-03-09Avoid unnecessary interning of enum variant part idTomasz Miąsko-4/+1
2020-03-09Use slices in preference to 0-terminated stringsTomasz Miąsko-126/+155
Additionally whenever possible match C API provided by the LLVM.
2020-03-08Rollup merge of #69734 - tmiasko:di-enumerator, r=ecstatic-morseMazdak Farrokhzad-7/+16
Change DIBuilderCreateEnumerator signature to match LLVM 9 * Change DIBuilderCreateEnumerator signature to match LLVM 9 C API. * Use provided is unsigned flag when emitting enumerators.
2020-03-07Rollup merge of #69773 - matthiaskrgr:typos, r=petrochenkovMazdak Farrokhzad-1/+1
fix various typos
2020-03-06fix various typosMatthias Krüger-1/+1
2020-03-05debuginfo: Use is unsigned flag when emitting enumeratorsTomasz Miąsko-1/+6
2020-03-05debuginfo: Generators use u32 as discriminant type reprTomasz Miąsko-3/+3
2020-03-05Change DIBuilderCreateEnumerator signature to match LLVM 9Tomasz Miąsko-6/+10
No functional changes intended.
2020-03-03Remove the `no_debug` featureYuki Okushi-12/+1
2020-03-01Rollup merge of #69569 - matthiaskrgr:nonminimal_bool, r=mark-SimulacrumDylan DPC-1/+1
simplify boolean expressions
2020-02-29Rename `syntax` to `rustc_ast` in source codeVadim Petrochenkov-3/+3
2020-02-29simplify boolean expressionsMatthias Krüger-1/+1
2020-02-26Use byte offsets when emitting debuginfo columnsTomasz Miąsko-45/+57
2020-02-26Emit 1-based column numbers in debuginfoTomasz Miąsko-2/+4
The debuginfo column numbers are 1-based. The value 0 indicates that no column has been specified. Translate 0-based column numbers to 1-based when emitting debug information.
2020-02-09Rollup merge of #68881 - eddyb:always-preserve-dbg-vars, r=nagisaJonas Schievink-1/+1
rustc_codegen_llvm: always set AlwaysPreserve on all debuginfo variables Making this depend on the optimization level appears to have been a copy-paste mistake (other LLVM functions called in this module also take a `bool` argument, but there it means something unrelated). Also see https://github.com/rust-lang/rust/pull/8855#discussion_r374392128. I don't believe we have any reason to let LLVM omit user variables from DWARF, and we were already setting this to `true` when LLVM *could* optimize them away, so this PR should have no effect anyway. r? @michaelwoerister or @nagisa cc @hanna-kruppe @nikomatsakis
2020-02-08rustc_codegen_ssa: remove unnecessary source_locations_enabled.Eduard-Mihai Burtescu-33/+8
2020-02-08rustc_codegen_llvm: remove InternalDebugLocation and simplify dbg_var_addr.Eduard-Mihai Burtescu-64/+35
2020-02-08rustc_codegen_llvm: remove unnecessary special-casing of root scopes' children.Eduard-Mihai Burtescu-8/+2
2020-02-06rustc_codegen_llvm: always set AlwaysPreserve on all debuginfo variables.Eduard-Mihai Burtescu-1/+1
2020-02-03rustc_codegen_llvm: avoid redundant calls to span_start.Eduard-Mihai Burtescu-4/+4
2020-02-03rustc_codegen_ssa: split declare_local into create_dbg_var and dbg_var_addr.Eduard-Mihai Burtescu-33/+51
2020-01-10Remove PlaceBase enum and make Place base field be local: LocalSantiago Pastorino-2/+2
2020-01-06Auto merge of #67886 - Centril:rustc_hir_canon_imports, r=nagisabors-5/+5
Nix `rustc_hir` reexports in rustc::hir r? @Zoxc cc @Mark-Simulacrum
2020-01-05Rename Instance.ty to Instance.monomorphic_tyAaron Hill-1/+1
2020-01-05Remove rustc_hir reexports in rustc::hir.Mazdak Farrokhzad-5/+5
2020-01-04DefId{Map,Set} -> rustc::hir::def_idMazdak Farrokhzad-2/+1
2020-01-04canonicalize FxHash{Map,Set} importsMazdak Farrokhzad-2/+3
2020-01-04extract rustc::middle::codegen_fn_attrsMazdak Farrokhzad-2/+2
2020-01-02Normalize `syntax::symbol` imports.Mazdak Farrokhzad-3/+3
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-20/+20