diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-06-07 19:22:42 +0200 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-09-17 16:31:55 +0200 |
| commit | 0de9485038a5a068644efbfa397feec6d02e05ea (patch) | |
| tree | 7fe630e4c2870bbb78245e0e91f01ee0e1e072f0 /src/librustc_codegen_ssa | |
| parent | 5670d048c0f88af9976b5505c7853b23dd06770d (diff) | |
| download | rust-0de9485038a5a068644efbfa397feec6d02e05ea.tar.gz rust-0de9485038a5a068644efbfa397feec6d02e05ea.zip | |
Get rid of special const intrinsic query in favour of `const_eval`
Diffstat (limited to 'src/librustc_codegen_ssa')
| -rw-r--r-- | src/librustc_codegen_ssa/mir/block.rs | 3 | ||||
| -rw-r--r-- | src/librustc_codegen_ssa/traits/intrinsic.rs | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/librustc_codegen_ssa/mir/block.rs b/src/librustc_codegen_ssa/mir/block.rs index 8829a33992a..1bb0ea5dae4 100644 --- a/src/librustc_codegen_ssa/mir/block.rs +++ b/src/librustc_codegen_ssa/mir/block.rs @@ -667,8 +667,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { }).collect(); - let callee_ty = instance.as_ref().unwrap().ty(bx.tcx()); - bx.codegen_intrinsic_call(callee_ty, &fn_ty, &args, dest, + bx.codegen_intrinsic_call(*instance.as_ref().unwrap(), &fn_ty, &args, dest, terminator.source_info.span); if let ReturnDest::IndirectOperand(dst, _) = ret_dest { diff --git a/src/librustc_codegen_ssa/traits/intrinsic.rs b/src/librustc_codegen_ssa/traits/intrinsic.rs index ede30a0bed7..7c79cd60210 100644 --- a/src/librustc_codegen_ssa/traits/intrinsic.rs +++ b/src/librustc_codegen_ssa/traits/intrinsic.rs @@ -1,6 +1,6 @@ use super::BackendTypes; use crate::mir::operand::OperandRef; -use rustc::ty::Ty; +use rustc::ty::{self, Ty}; use rustc_target::abi::call::FnType; use syntax_pos::Span; @@ -10,7 +10,7 @@ pub trait IntrinsicCallMethods<'tcx>: BackendTypes { /// add them to librustc_codegen_llvm/context.rs fn codegen_intrinsic_call( &mut self, - callee_ty: Ty<'tcx>, + instance: ty::Instance<'tcx>, fn_ty: &FnType<'tcx, Ty<'tcx>>, args: &[OperandRef<'tcx, Self::Value>], llresult: Self::Value, |
