LLVM
17.0.0git
include
llvm
Support
ARMAttributeParser.h
Go to the documentation of this file.
1
//===- ARMAttributeParser.h - ARM Attribute Information Printer -*- C++ -*-===//
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
#ifndef LLVM_SUPPORT_ARMATTRIBUTEPARSER_H
10
#define LLVM_SUPPORT_ARMATTRIBUTEPARSER_H
11
12
#include "
ARMBuildAttributes.h
"
13
#include "
ELFAttributeParser.h
"
14
#include "
llvm/ADT/StringRef.h
"
15
#include "
llvm/Support/Error.h
"
16
17
namespace
llvm
{
18
19
class
ScopedPrinter;
20
21
class
ARMAttributeParser
:
public
ELFAttributeParser
{
22
struct
DisplayHandler {
23
ARMBuildAttrs::AttrType
attribute;
24
Error
(
ARMAttributeParser
::*routine)(
ARMBuildAttrs::AttrType
);
25
};
26
static
const
DisplayHandler displayRoutines[];
27
28
Error
handler(
uint64_t
tag,
bool
&handled)
override
;
29
30
Error
stringAttribute(
ARMBuildAttrs::AttrType
tag);
31
32
Error
CPU_arch(
ARMBuildAttrs::AttrType
tag);
33
Error
CPU_arch_profile(
ARMBuildAttrs::AttrType
tag);
34
Error
ARM_ISA_use(
ARMBuildAttrs::AttrType
tag);
35
Error
THUMB_ISA_use(
ARMBuildAttrs::AttrType
tag);
36
Error
FP_arch(
ARMBuildAttrs::AttrType
tag);
37
Error
WMMX_arch(
ARMBuildAttrs::AttrType
tag);
38
Error
Advanced_SIMD_arch(
ARMBuildAttrs::AttrType
tag);
39
Error
MVE_arch(
ARMBuildAttrs::AttrType
tag);
40
Error
PCS_config(
ARMBuildAttrs::AttrType
tag);
41
Error
ABI_PCS_R9_use(
ARMBuildAttrs::AttrType
tag);
42
Error
ABI_PCS_RW_data(
ARMBuildAttrs::AttrType
tag);
43
Error
ABI_PCS_RO_data(
ARMBuildAttrs::AttrType
tag);
44
Error
ABI_PCS_GOT_use(
ARMBuildAttrs::AttrType
tag);
45
Error
ABI_PCS_wchar_t(
ARMBuildAttrs::AttrType
tag);
46
Error
ABI_FP_rounding(
ARMBuildAttrs::AttrType
tag);
47
Error
ABI_FP_denormal(
ARMBuildAttrs::AttrType
tag);
48
Error
ABI_FP_exceptions(
ARMBuildAttrs::AttrType
tag);
49
Error
ABI_FP_user_exceptions(
ARMBuildAttrs::AttrType
tag);
50
Error
ABI_FP_number_model(
ARMBuildAttrs::AttrType
tag);
51
Error
ABI_align_needed(
ARMBuildAttrs::AttrType
tag);
52
Error
ABI_align_preserved(
ARMBuildAttrs::AttrType
tag);
53
Error
ABI_enum_size(
ARMBuildAttrs::AttrType
tag);
54
Error
ABI_HardFP_use(
ARMBuildAttrs::AttrType
tag);
55
Error
ABI_VFP_args(
ARMBuildAttrs::AttrType
tag);
56
Error
ABI_WMMX_args(
ARMBuildAttrs::AttrType
tag);
57
Error
ABI_optimization_goals(
ARMBuildAttrs::AttrType
tag);
58
Error
ABI_FP_optimization_goals(
ARMBuildAttrs::AttrType
tag);
59
Error
compatibility(
ARMBuildAttrs::AttrType
tag);
60
Error
CPU_unaligned_access(
ARMBuildAttrs::AttrType
tag);
61
Error
FP_HP_extension(
ARMBuildAttrs::AttrType
tag);
62
Error
ABI_FP_16bit_format(
ARMBuildAttrs::AttrType
tag);
63
Error
MPextension_use(
ARMBuildAttrs::AttrType
tag);
64
Error
DIV_use(
ARMBuildAttrs::AttrType
tag);
65
Error
DSP_extension(
ARMBuildAttrs::AttrType
tag);
66
Error
T2EE_use(
ARMBuildAttrs::AttrType
tag);
67
Error
Virtualization_use(
ARMBuildAttrs::AttrType
tag);
68
Error
PAC_extension(
ARMBuildAttrs::AttrType
tag);
69
Error
BTI_extension(
ARMBuildAttrs::AttrType
tag);
70
Error
PACRET_use(
ARMBuildAttrs::AttrType
tag);
71
Error
BTI_use(
ARMBuildAttrs::AttrType
tag);
72
Error
nodefaults(
ARMBuildAttrs::AttrType
tag);
73
Error
also_compatible_with(
ARMBuildAttrs::AttrType
tag);
74
75
public
:
76
ARMAttributeParser
(
ScopedPrinter
*
sw
)
77
:
ELFAttributeParser
(
sw
, ARMBuildAttrs::
getARMAttributeTags
(),
"aeabi"
) {}
78
ARMAttributeParser
()
79
:
ELFAttributeParser
(ARMBuildAttrs::
getARMAttributeTags
(),
"aeabi"
) {}
80
};
81
}
82
83
#endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
StringRef.h
Error.h
llvm::ARMAttributeParser
Definition:
ARMAttributeParser.h:21
llvm::ARMAttributeParser::ARMAttributeParser
ARMAttributeParser()
Definition:
ARMAttributeParser.h:78
llvm::ELFAttributeParser::sw
ScopedPrinter * sw
Definition:
ELFAttributeParser.h:33
llvm::ARMBuildAttrs::getARMAttributeTags
const TagNameMap & getARMAttributeTags()
Definition:
ARMBuildAttrs.cpp:76
uint64_t
ELFAttributeParser.h
llvm::ELFAttributeParser
Definition:
ELFAttributeParser.h:25
llvm::ARMBuildAttrs::AttrType
AttrType
Definition:
ARMBuildAttributes.h:34
llvm::Error
Lightweight error class with error context and mandatory checking.
Definition:
Error.h:156
llvm::ScopedPrinter
Definition:
ScopedPrinter.h:100
ARMBuildAttributes.h
llvm::ARMAttributeParser::ARMAttributeParser
ARMAttributeParser(ScopedPrinter *sw)
Definition:
ARMAttributeParser.h:76
Generated on Thu Jan 26 2023 07:02:11 for LLVM by
1.8.17