[PATCH] D50049: [ARM] Complete enumeration values for Tag_ABI_VFP_args

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 31 03:55:08 PDT 2018


peter.smith created this revision.
peter.smith added reviewers: ruiu, grimar, kettenis, olista01.
Herald added a reviewer: javed.absar.
Herald added subscribers: chrib, kristof.beyls.

The LLD implementation of Tag_ABI_VFP_args needs to check the rarely seen values of 3 (toolchain specific) and 4 compatible with both Base and VFP. We currently only have enum values for 0 (Base AAPCS) and 1 (VFP AAPCS), this patch adds the missing enumeration values so that LLD (https://reviews.llvm.org/D49993) can refer to them without having to use the raw numbers.

>From Addenda to, and Errata in, the ABI for the Arm Architecture:  http://infocenter.arm.com/help/topic/com.arm.doc.ihi0045e/IHI0045E_ABI_addenda.pdf

  Tag_ABI_VFP_args, (=28), uleb128
  0 The user intended FP parameter/result passing to conform to AAPCS, base variant
  1 The user intended FP parameter/result passing to conform to AAPCS, VFP variant
  2 The user intended FP parameter/result passing to conform to tool chain-specific
   conventions
  3 Code is compatible with both the base and VFP variants; the user did not permit
   non-variadic functions to pass FP parameters/results


https://reviews.llvm.org/D50049

Files:
  include/llvm/Support/ARMBuildAttributes.h


Index: include/llvm/Support/ARMBuildAttributes.h
===================================================================
--- include/llvm/Support/ARMBuildAttributes.h
+++ include/llvm/Support/ARMBuildAttributes.h
@@ -213,6 +213,8 @@
   // Tag_ABI_VFP_args, (=28), uleb128
   BaseAAPCS = 0,
   HardFPAAPCS = 1,
+  ToolchainFPPCS = 2,
+  CompatibleFPAAPCS = 3,
 
   // Tag_FP_HP_extension, (=36), uleb128
   AllowHPFP = 1, // Allow use of Half Precision FP


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50049.158204.patch
Type: text/x-patch
Size: 451 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180731/c7fea4ef/attachment.bin>


More information about the llvm-commits mailing list