[clang] [llvm] [LLVM][Clang][AArch64] Implement AArch64 build attributes (PR #118771)

Oliver Stannard via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 19 02:34:53 PST 2024


================
@@ -148,13 +151,133 @@ class AArch64TargetAsmStreamer : public AArch64TargetStreamer {
     OS << "\t.seh_save_any_reg_px\tq" << Reg << ", " << Offset << "\n";
   }
 
+  void emitAttribute(unsigned VendorID, unsigned Tag, unsigned Value,
+                     bool Override) override {
+    // AArch64 build attributes for assembly attribute form:
+    // .aeabi_attribute tag, value
+    switch (VendorID) {
+    default: {
+      assert(0 && ARMBuildAttrs::getSubsectionUnknownError().data());
+      break;
+    }
+    case ARMBuildAttrs::AEABI_FEATURE_AND_BITS:
+      switch (Tag) {
+      default:
----------------
ostannard wrote:

We need to allow emitting any attribute by number, so that it is possible to use future attributes without upgrading the assembler.

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


More information about the cfe-commits mailing list