[clang] [llvm] [CodeGen][LLVM] Make the `va_list` related intrinsics generic. (PR #85460)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 21 02:37:04 PDT 2024
================
@@ -700,10 +700,13 @@ class MSBuiltin<string name> {
//===--------------- Variable Argument Handling Intrinsics ----------------===//
//
-def int_vastart : DefaultAttrsIntrinsic<[], [llvm_ptr_ty], [], "llvm.va_start">;
-def int_vacopy : DefaultAttrsIntrinsic<[], [llvm_ptr_ty, llvm_ptr_ty], [],
- "llvm.va_copy">;
-def int_vaend : DefaultAttrsIntrinsic<[], [llvm_ptr_ty], [], "llvm.va_end">;
+def int_vastart : DefaultAttrsIntrinsic<[],
+ [llvm_anyptr_ty], [], "llvm.va_start">;
+def int_vacopy : DefaultAttrsIntrinsic<[],
+ [llvm_anyptr_ty, llvm_anyptr_ty], [],
+ "llvm.va_copy">;
----------------
arsenm wrote:
Would it make sense to emit these as p5.p0 pairs, such that we're assuming it's writing to the stack from an arbitrary pointer an optimize down to stack-to-stack copies?
https://github.com/llvm/llvm-project/pull/85460
More information about the llvm-commits
mailing list