[clang] [llvm] [ARM] Save floating point registers and status registers with save_fp function attribute (PR #89654)

Benson Chu via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 6 12:38:17 PDT 2024


================
@@ -338,10 +338,16 @@ def warn_anyx86_excessive_regsave : Warning<
   InGroup<DiagGroup<"excessive-regsave">>;
 def warn_arm_interrupt_vfp_clobber : Warning<
   "interrupt service routine with vfp enabled may clobber the "
-  "interruptee's vfp state">,
+  "interruptee's vfp state; "
+  "consider using the `interrupt_save_fp` attribute to prevent this behavior">,
   InGroup<DiagGroup<"arm-interrupt-vfp-clobber">>;
 def err_arm_interrupt_called : Error<
   "interrupt service routine cannot be called directly">;
+def warn_arm_interrupt_save_fp_without_vfp_unit : Warning<
+   "`interrupt_save_fp` only applies to targets that have a VFP unit enabled "
+   "for this compilation; this will be treated as a regular `interrupt` "
+   "attribute">,
+   InGroup<Extra>;
----------------
pestctrl wrote:

Done

https://github.com/llvm/llvm-project/pull/89654


More information about the cfe-commits mailing list