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