llvm-project/llvm/lib/Support/HexagonAttributes.cpp
quic-areg 31f4b329c8
[Hexagon] ELF attributes for Hexagon (#85359)
Defines a subset of attributes and emits them to a section called
.hexagon.attributes.

The current attributes recorded are the attributes needed by
llvm-objdump to automatically determine target features and eliminate
the need to manually pass features.
2024-03-19 16:22:30 -05:00

28 lines
873 B
C++

//===-- HexagonAttributes.cpp - Qualcomm Hexagon Attributes ---------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "llvm/Support/HexagonAttributes.h"
using namespace llvm;
using namespace llvm::HexagonAttrs;
static constexpr TagNameItem TagData[] = {
{ARCH, "Tag_arch"},
{HVXARCH, "Tag_hvx_arch"},
{HVXIEEEFP, "Tag_hvx_ieeefp"},
{HVXQFLOAT, "Tag_hvx_qfloat"},
{ZREG, "Tag_zreg"},
{AUDIO, "Tag_audio"},
{CABAC, "Tag_cabac"},
};
constexpr TagNameMap HexagonAttributeTags{TagData};
const TagNameMap &llvm::HexagonAttrs::getHexagonAttributeTags() {
return HexagonAttributeTags;
}