LLVM
20.0.0git
lib
Support
HexagonAttributeParser.cpp
Go to the documentation of this file.
1
//===-- HexagonAttributeParser.cpp - Hexagon Attribute Parser -------------===//
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/HexagonAttributeParser.h
"
10
11
using namespace
llvm
;
12
13
const
HexagonAttributeParser::DisplayHandler
14
HexagonAttributeParser::DisplayRoutines[] = {
15
{
16
HexagonAttrs::ARCH
,
17
&
ELFAttributeParser::integerAttribute
,
18
},
19
{
20
HexagonAttrs::HVXARCH
,
21
&
ELFAttributeParser::integerAttribute
,
22
},
23
{
24
HexagonAttrs::HVXIEEEFP
,
25
&
ELFAttributeParser::integerAttribute
,
26
},
27
{
28
HexagonAttrs::HVXQFLOAT
,
29
&
ELFAttributeParser::integerAttribute
,
30
},
31
{
32
HexagonAttrs::ZREG
,
33
&
ELFAttributeParser::integerAttribute
,
34
},
35
{
36
HexagonAttrs::AUDIO
,
37
&
ELFAttributeParser::integerAttribute
,
38
},
39
{
40
HexagonAttrs::CABAC
,
41
&
ELFAttributeParser::integerAttribute
,
42
}};
43
44
Error
HexagonAttributeParser::handler(
uint64_t
Tag
,
bool
&Handled) {
45
Handled =
false
;
46
for
(
const
auto
&R : DisplayRoutines) {
47
if
(
uint64_t
(
R
.Attribute) ==
Tag
) {
48
if
(
Error
E = (this->*
R
.Routine)(
Tag
))
49
return
E;
50
Handled =
true
;
51
break
;
52
}
53
}
54
return
Error::success
();
55
}
HexagonAttributeParser.h
llvm::ELFAttributeParser::integerAttribute
Error integerAttribute(unsigned tag)
Definition:
ELFAttributeParser.cpp:36
llvm::Error
Lightweight error class with error context and mandatory checking.
Definition:
Error.h:160
llvm::Error::success
static ErrorSuccess success()
Create a success value.
Definition:
Error.h:337
uint64_t
llvm::HexagonAttrs::HVXIEEEFP
@ HVXIEEEFP
Definition:
HexagonAttributes.h:22
llvm::HexagonAttrs::ZREG
@ ZREG
Definition:
HexagonAttributes.h:24
llvm::HexagonAttrs::HVXQFLOAT
@ HVXQFLOAT
Definition:
HexagonAttributes.h:23
llvm::HexagonAttrs::CABAC
@ CABAC
Definition:
HexagonAttributes.h:26
llvm::HexagonAttrs::HVXARCH
@ HVXARCH
Definition:
HexagonAttributes.h:21
llvm::HexagonAttrs::ARCH
@ ARCH
Definition:
HexagonAttributes.h:20
llvm::HexagonAttrs::AUDIO
@ AUDIO
Definition:
HexagonAttributes.h:25
llvm::RISCVFenceField::R
@ R
Definition:
RISCVBaseInfo.h:327
llvm::dwarf::Tag
Tag
Definition:
Dwarf.h:103
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Thu Nov 21 2024 02:05:43 for LLVM by
1.9.6