xref: /freebsd/contrib/llvm-project/llvm/lib/Support/RISCVAttributes.cpp (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1 //===-- RISCVAttributes.cpp - RISCV 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/RISCVAttributes.h"
10 
11 using namespace llvm;
12 using namespace llvm::RISCVAttrs;
13 
14 static constexpr TagNameItem tagData[] = {
15     {STACK_ALIGN, "Tag_stack_align"},
16     {ARCH, "Tag_arch"},
17     {UNALIGNED_ACCESS, "Tag_unaligned_access"},
18     {PRIV_SPEC, "Tag_priv_spec"},
19     {PRIV_SPEC_MINOR, "Tag_priv_spec_minor"},
20     {PRIV_SPEC_REVISION, "Tag_priv_spec_revision"},
21     {ATOMIC_ABI, "Tag_atomic_abi"},
22 };
23 
24 constexpr TagNameMap RISCVAttributeTags{tagData};
getRISCVAttributeTags()25 const TagNameMap &llvm::RISCVAttrs::getRISCVAttributeTags() {
26   return RISCVAttributeTags;
27 }
28