summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/mir
AgeCommit message (Collapse)AuthorLines
2020-03-10Rollup merge of #69714 - spastorino:place-ref-lifetime, r=oli-obkMazdak Farrokhzad-5/+5
Make PlaceRef take just one lifetime r? @eddyb
2020-03-06mir::Local is Copy we can pass it by value in these casesSantiago Pastorino-1/+1
2020-03-04PlaceRef<'a, 'tcx> -> PlaceRef<'tcx>Santiago Pastorino-5/+5
2020-03-03Make PlaceRef lifetimes of monomorphized_place_ty be both 'tcxSantiago Pastorino-1/+1
2020-03-03Make PlaceRef lifetimes of codegen_place be both 'tcxSantiago Pastorino-3/+3
2020-03-02Make PlaceRef lifetimes of LocalAnalyzer::process_place be both 'tcxSantiago Pastorino-1/+1
2020-02-29simplify boolean expressionsMatthias Krüger-2/+2
2020-02-27don't use .into() to convert types into identical types.Matthias Krüger-3/+2
example: let s: String = format!("hello").into();
2020-02-26Rollup merge of #69429 - matthiaskrgr:clippy_, r=estebankDylan DPC-1/+1
remove redundant clones and import
2020-02-24no more codegen for miri_start_panicRalf Jung-5/+2
2020-02-24librustc{, codegen_ssa,infer,mir_build}: don't clone types that are copyMatthias Krüger-1/+1
2020-02-16Code review changes.Ben Lewis-2/+2
2020-02-15Monomorphize const type during codegen.Ben Lewis-1/+2
2020-02-15Change `const_field` and `const_caller_location` to return `ConstValue` ↵Ben Lewis-26/+25
instead of `Const` as the type in the returned const isn't needed.
2020-02-15Change const eval to return `ConstValue`, instead of `Const` as the type ↵Ben Lewis-2/+8
inside it shouldn't be used.
2020-02-13rename PanicInfo -> AssertKindRalf Jung-3/+3
2020-02-13move PanicInfo to mir moduleRalf Jung-1/+1
2020-02-09rustc_codegen_ssa: only "spill" SSA-like values to the stack for debuginfo.Eduard-Mihai Burtescu-32/+34
2020-02-09rustc_codegen_ssa: use `debug_introduce_local` on Operand call results.Eduard-Mihai Burtescu-0/+3
2020-02-09Auto merge of #68975 - Dylan-DPC:rollup-jzab8oh, r=Dylan-DPCbors-18/+3
Rollup of 7 pull requests Successful merges: - #68718 (Move `rustc_hir::def_id` to `rustc_span::def_id`) - #68834 (Fix and test implementation of BTreeMap's first/last_entry, pop_first/last) - #68857 (perf: Reduce Vec allocations in normalization by passing &mut Vec) - #68918 (Don't use the word "unwrap" to describe "unwrap" methods) - #68946 (Mark several functions and methods in core::cmp as #[must_use]) - #68958 (Clean up E0277 and E0282 explanations) - #68960 (codegen: misc cleanups around debuginfo scopes and locations.) Failed merges: r? @ghost
2020-02-08rustc_codegen_ssa: remove unnecessary source_locations_enabled.Eduard-Mihai Burtescu-12/+3
2020-02-08rustc_codegen_llvm: remove InternalDebugLocation and simplify dbg_var_addr.Eduard-Mihai Burtescu-6/+0
2020-02-03rustc_codegen_ssa: don't treat inlined variables as debuginfo arguments.Eduard-Mihai Burtescu-4/+1
2020-02-03rustc_codegen_ssa: convert mir::VarDebugInfo into a custom PerLocalVarDebugInfo.Eduard-Mihai Burtescu-54/+133
2020-02-03rustc_codegen_ssa: split declare_local into create_dbg_var and dbg_var_addr.Eduard-Mihai Burtescu-4/+4
2020-01-28Place::ty_from takes local by valueSantiago Pastorino-2/+2
2020-01-28Local field on PlaceRef and RootPlace is not a reference anymoreSantiago Pastorino-9/+9
2020-01-28codegen_place and related functions can take PlaceRef by valueSantiago Pastorino-19/+19
2020-01-18remove rustc_error_codes deps except in rustc_driverMazdak Farrokhzad-2/+0
2020-01-10Errors in promoteds may only cause lints not hard errorsOliver Scherer-8/+7
2020-01-10Add span_bug that notes that shuffle indices must be constantSantiago Pastorino-0/+2
2020-01-10Remove PlaceBase enum and make Place base field be local: LocalSantiago Pastorino-66/+52
2020-01-10Remove Static from PlaceBaseSantiago Pastorino-60/+40
2020-01-10Use if let instead of match with one meaningful armSantiago Pastorino-19/+9
2020-01-10Remove StaticKindSantiago Pastorino-6/+1
2020-01-10Remove StaticKind::PromotedSantiago Pastorino-64/+3
2020-01-10Promote `Ref`s to constants instead of staticSantiago Pastorino-3/+6
2020-01-08- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}Mazdak Farrokhzad-4/+7
- remove syntax::{help!, span_help!, span_note!} - remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!} - lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints - inline syntax::{struct_span_warn!, diagnostic_used!} - stringify_error_code! -> error_code! & use it more. - find_plugin_registrar: de-fatalize an error - de-fatalize metadata errors - move type_error_struct! to rustc_typeck - struct_span_err! -> rustc_errors
2020-01-05Remove rustc_hir reexports in rustc::hir.Mazdak Farrokhzad-1/+1
2020-01-02Normalize `syntax::symbol` imports.Mazdak Farrokhzad-2/+2
2020-01-02Normalize `syntax::source_map` imports.Mazdak Farrokhzad-11/+10
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-3/+3
2019-12-28Auto merge of #67598 - jumbatm:issue67557_simd_shuffle, r=oli-obkbors-3/+6
Fix ICE / miscompilation when inlining simd shuffle intrinsic in MIR. Closes #67557. r? @oli-obk
2019-12-25Run RustFmtjumbatm-1/+4
2019-12-25Pass new instance instead of self.instance to simd_shuffle_indices.jumbatm-3/+3
2019-12-24x.py fmt after previous deignoreMark Rousskov-124/+85
2019-12-22Format the worldMark Rousskov-937/+898
2019-12-22Rollup merge of #66877 - skinny121:const-eval-entry-points, r=oli-obkMazdak Farrokhzad-23/+10
Add simpler entry points to const eval for common usages. I found the `tcx.const_eval` API to be complex/awkward to work with, because of the inherent complexity from all of the different situations it is called from. Though it mainly used in one of the following ways: - Evaluates the value of a constant without any substitutions, e.g. evaluating a static, discriminant, etc. - Evaluates the value of a resolved instance of a constant. this happens when evaluating unevaluated constants or normalising trait constants. - Evaluates a promoted constant. This PR adds three new functions `const_eval_mono`, `const_eval_resolve`, and `const_eval_promoted` to `TyCtxt`, which each cater to one of the three ways `tcx.const_eval` is normally used.
2019-12-22Add simpler entry points to const eval for common usages.Ben Lewis-23/+10
2019-12-20Rollup merge of #64588 - matthewjasper:mir-address-of, r=oli-obkMazdak Farrokhzad-21/+41
Add a raw "address of" operator * Parse and feature gate `&raw [const | mut] expr` (feature gate name is `raw_address_of`) * Add `mir::Rvalue::AddressOf` * Use the new `Rvalue` for: * the new syntax * reference to pointer casts * drop shims for slices and arrays * Stop using `mir::Rvalue::Cast` with a reference as the operand * Correctly evaluate `mir::Rvalue::{Ref, AddressOf}` in constant propagation cc @Centril @RalfJung @oli-obk @eddyb cc #64490