]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 | 1 | use super::BackendTypes; |
9fa01778 | 2 | use crate::mir::operand::OperandRef; |
a1dfa0c6 XL |
3 | use rustc::ty::Ty; |
4 | use rustc_target::abi::call::FnType; | |
5 | use syntax_pos::Span; | |
6 | ||
7 | pub trait IntrinsicCallMethods<'tcx>: BackendTypes { | |
8 | /// Remember to add all intrinsics here, in librustc_typeck/check/mod.rs, | |
9 | /// and in libcore/intrinsics.rs; if you need access to any llvm intrinsics, | |
10 | /// add them to librustc_codegen_llvm/context.rs | |
11 | fn codegen_intrinsic_call( | |
12 | &mut self, | |
13 | callee_ty: Ty<'tcx>, | |
14 | fn_ty: &FnType<'tcx, Ty<'tcx>>, | |
15 | args: &[OperandRef<'tcx, Self::Value>], | |
16 | llresult: Self::Value, | |
17 | span: Span, | |
18 | ); | |
19 | ||
20 | fn abort(&mut self); | |
21 | fn assume(&mut self, val: Self::Value); | |
22 | fn expect(&mut self, cond: Self::Value, expected: bool) -> Self::Value; | |
23 | } |