xref: /freebsd/contrib/llvm-project/llvm/lib/Support/HexagonAttributes.cpp (revision 56b17de1e8360fe131d425de20b5e75ff3ea897c)
1 //===-- HexagonAttributes.cpp - Qualcomm Hexagon Attributes ---------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "llvm/Support/HexagonAttributes.h"
10 
11 using namespace llvm;
12 using namespace llvm::HexagonAttrs;
13 
14 static constexpr TagNameItem TagData[] = {
15     {ARCH, "Tag_arch"},
16     {HVXARCH, "Tag_hvx_arch"},
17     {HVXIEEEFP, "Tag_hvx_ieeefp"},
18     {HVXQFLOAT, "Tag_hvx_qfloat"},
19     {ZREG, "Tag_zreg"},
20     {AUDIO, "Tag_audio"},
21     {CABAC, "Tag_cabac"},
22 };
23 
24 constexpr TagNameMap HexagonAttributeTags{TagData};
25 const TagNameMap &llvm::HexagonAttrs::getHexagonAttributeTags() {
26   return HexagonAttributeTags;
27 }
28