LLVM
24.0.0git
include
llvm
Support
MSP430AttributeParser.h
Go to the documentation of this file.
1
//===-- MSP430AttributeParser.h - MSP430 Attribute Parser -------*- 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
/// \file
10
/// This file contains support routines for parsing MSP430 ELF build attributes.
11
///
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_SUPPORT_MSP430ATTRIBUTEPARSER_H
15
#define LLVM_SUPPORT_MSP430ATTRIBUTEPARSER_H
16
17
#include "
llvm/Support/Compiler.h
"
18
#include "
llvm/Support/ELFAttrParserCompact.h
"
19
#include "
llvm/Support/MSP430Attributes.h
"
20
21
namespace
llvm
{
22
class
LLVM_ABI
MSP430AttributeParser
:
public
ELFCompactAttrParser
{
23
struct
DisplayHandler {
24
MSP430Attrs::AttrType
Attribute
;
25
Error
(
MSP430AttributeParser
::*Routine)(
MSP430Attrs::AttrType
);
26
};
27
static
const
std::array<DisplayHandler, 4> DisplayRoutines;
28
29
Error
parseISA(
MSP430Attrs::AttrType
Tag
);
30
Error
parseCodeModel(
MSP430Attrs::AttrType
Tag
);
31
Error
parseDataModel(
MSP430Attrs::AttrType
Tag
);
32
Error
parseEnumSize(
MSP430Attrs::AttrType
Tag
);
33
34
Error
handler(
uint64_t
Tag
,
bool
&Handled)
override
;
35
36
public
:
37
MSP430AttributeParser
(
ScopedPrinter
*SW)
38
:
ELFCompactAttrParser
(SW,
MSP430Attrs
::getMSP430AttributeTags(),
39
"mspabi"
) {}
40
MSP430AttributeParser
()
41
:
ELFCompactAttrParser
(
MSP430Attrs
::getMSP430AttributeTags(),
"mspabi"
) {}
42
};
43
}
// namespace llvm
44
45
#endif
uint64_t
unsigned uint64_t
Definition
AMDGPUDisassembler.cpp:535
Compiler.h
LLVM_ABI
#define LLVM_ABI
Definition
Compiler.h:215
ELFAttrParserCompact.h
MSP430Attributes.h
This file contains enumerations for MSP430 ELF build attributes as defined in the MSP430 ELF psABI sp...
llvm::Attribute
Functions, function parameters, and return types can have attributes to indicate how they should be t...
Definition
Attributes.h:106
llvm::ELFCompactAttrParser::ELFCompactAttrParser
ELFCompactAttrParser(ScopedPrinter *sw, TagNameMap tagNameMap, StringRef vendor)
Definition
ELFAttrParserCompact.h:56
llvm::Error
Lightweight error class with error context and mandatory checking.
Definition
Error.h:159
llvm::MSP430AttributeParser::MSP430AttributeParser
MSP430AttributeParser(ScopedPrinter *SW)
Definition
MSP430AttributeParser.h:37
llvm::MSP430AttributeParser::MSP430AttributeParser
MSP430AttributeParser()
Definition
MSP430AttributeParser.h:40
llvm::ScopedPrinter
Definition
ScopedPrinter.h:87
llvm::MSP430Attrs
Definition
MSP430Attributes.h:25
llvm::MSP430Attrs::AttrType
AttrType
Definition
MSP430Attributes.h:29
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
DefaultTargetInfo.h:21
llvm::HighlightColor::Tag
@ Tag
Definition
WithColor.h:30
Generated on
for LLVM by
1.14.0