diff options
| author | Joel Wejdenstål <joel.wejdenstal@gmail.com> | 2025-07-25 21:21:42 +0200 |
|---|---|---|
| committer | Joel Wejdenstål <joel.wejdenstal@gmail.com> | 2025-07-26 01:02:29 +0200 |
| commit | a448837045326d7c33059dc3aa2d1d87529dcf3d (patch) | |
| tree | 8b14dc9670550379eb0fe6cfdcc31aeeae73f27b /compiler/rustc_codegen_ssa/src/traits | |
| parent | 430d6eddfc6a455ca4a0137c0822a982cccd3b2b (diff) | |
Implement support for explicit tail calls in the MIR block builders and the LLVM codegen backend.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/traits')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/traits/builder.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_ssa/src/traits/builder.rs b/compiler/rustc_codegen_ssa/src/traits/builder.rs index 979456a6ba7..4b18146863b 100644 --- a/compiler/rustc_codegen_ssa/src/traits/builder.rs +++ b/compiler/rustc_codegen_ssa/src/traits/builder.rs @@ -595,6 +595,18 @@ pub trait BuilderMethods<'a, 'tcx>: funclet: Option<&Self::Funclet>, instance: Option<Instance<'tcx>>, ) -> Self::Value; + + fn tail_call( + &mut self, + llty: Self::Type, + fn_attrs: Option<&CodegenFnAttrs>, + fn_abi: &FnAbi<'tcx, Ty<'tcx>>, + llfn: Self::Value, + args: &[Self::Value], + funclet: Option<&Self::Funclet>, + instance: Option<Instance<'tcx>>, + ); + fn zext(&mut self, val: Self::Value, dest_ty: Self::Type) -> Self::Value; fn apply_attrs_to_cleanup_callsite(&mut self, llret: Self::Value); |
