about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2018-12-02 18:04:39 +0100
committerbjorn3 <bjorn3@users.noreply.github.com>2019-03-29 17:17:12 +0100
commitf1fe9253e2b9ed072af6bc2d80feb6be0ffee8a5 (patch)
treefb02d53d69c154e9cf01cdd8458b520afe06b533 /src
parent7b94195c22f20feed07dd033f4e2f866a0a29b0b (diff)
downloadrust-f1fe9253e2b9ed072af6bc2d80feb6be0ffee8a5.tar.gz
rust-f1fe9253e2b9ed072af6bc2d80feb6be0ffee8a5.zip
Remove param_substs from FunctionCx
Diffstat (limited to 'src')
-rw-r--r--src/librustc_codegen_ssa/mir/mod.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/librustc_codegen_ssa/mir/mod.rs b/src/librustc_codegen_ssa/mir/mod.rs
index 5e2144751c1..62bbfa316b5 100644
--- a/src/librustc_codegen_ssa/mir/mod.rs
+++ b/src/librustc_codegen_ssa/mir/mod.rs
@@ -1,7 +1,6 @@
 use rustc::ty::{self, Ty, TypeFoldable, UpvarSubsts};
 use rustc::ty::layout::{TyLayout, HasTyCtxt};
 use rustc::mir::{self, Mir};
-use rustc::ty::subst::SubstsRef;
 use rustc::session::config::DebugInfo;
 use rustc_mir::monomorphize::Instance;
 use rustc_target::abi::call::{FnType, PassMode, IgnoreMode};
@@ -83,9 +82,6 @@ pub struct FunctionCx<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>> {
     /// Debug information for MIR scopes.
     scopes: IndexVec<mir::SourceScope, debuginfo::MirDebugScope<Bx::DIScope>>,
 
-    /// If this function is being monomorphized, this contains the type substitutions used.
-    param_substs: SubstsRef<'tcx>,
-
     /// If this function is a C-variadic function, this contains the `PlaceRef` of the
     /// "spoofed" `VaList`.
     va_list_ref: Option<PlaceRef<'tcx, Bx::Value>>,
@@ -96,7 +92,7 @@ impl<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
         where T: TypeFoldable<'tcx>
     {
         self.cx.tcx().subst_and_normalize_erasing_regions(
-            self.param_substs,
+            self.instance.substs,
             ty::ParamEnv::reveal_all(),
             value,
         )
@@ -203,6 +199,8 @@ pub fn codegen_mir<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
     instance: Instance<'tcx>,
     sig: ty::FnSig<'tcx>,
 ) {
+    assert!(!instance.substs.needs_infer());
+
     let fn_ty = cx.new_fn_type(sig, &[]);
     debug!("fn_ty: {:?}", fn_ty);
     let debug_context =
@@ -245,10 +243,6 @@ pub fn codegen_mir<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
         scopes,
         locals: IndexVec::new(),
         debug_context,
-        param_substs: {
-            assert!(!instance.substs.needs_infer());
-            instance.substs
-        },
         va_list_ref: None,
     };