LLVM
20.0.0git
include
llvm
Support
MSP430Attributes.h
Go to the documentation of this file.
1
//===-- MSP430Attributes.h - MSP430 Attributes ------------------*- 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 enumerations for MSP430 ELF build attributes as
11
/// defined in the MSP430 ELF psABI specification.
12
///
13
/// MSP430 ELF psABI specification
14
///
15
/// https://www.ti.com/lit/pdf/slaa534
16
///
17
//===----------------------------------------------------------------------===//
18
#ifndef LLVM_SUPPORT_MSP430ATTRIBUTES_H
19
#define LLVM_SUPPORT_MSP430ATTRIBUTES_H
20
21
#include "
llvm/Support/ELFAttributes.h
"
22
23
namespace
llvm
{
24
namespace
MSP430Attrs {
25
26
const
TagNameMap
&
getMSP430AttributeTags
();
27
28
enum
AttrType
:
unsigned
{
29
// Attribute types in ELF/.MSP430.attributes.
30
TagISA
= 4,
31
TagCodeModel
= 6,
32
TagDataModel
= 8,
33
TagEnumSize
= 10
34
};
35
36
enum
ISA
{
ISAMSP430
= 1,
ISAMSP430X
= 2 };
37
enum
CodeModel
{
CMSmall
= 1,
CMLarge
= 2 };
38
enum
DataModel
{
DMSmall
= 1,
DMLarge
= 2,
DMRestricted
= 3 };
39
enum
EnumSize
{
ESSmall
= 1,
ESInteger
= 2,
ESDontCare
= 3 };
40
41
}
// namespace MSP430Attrs
42
}
// namespace llvm
43
44
#endif
ELFAttributes.h
llvm::ArrayRef< TagNameItem >
llvm::MSP430Attrs::EnumSize
EnumSize
Definition:
MSP430Attributes.h:39
llvm::MSP430Attrs::ESInteger
@ ESInteger
Definition:
MSP430Attributes.h:39
llvm::MSP430Attrs::ESDontCare
@ ESDontCare
Definition:
MSP430Attributes.h:39
llvm::MSP430Attrs::ESSmall
@ ESSmall
Definition:
MSP430Attributes.h:39
llvm::MSP430Attrs::AttrType
AttrType
Definition:
MSP430Attributes.h:28
llvm::MSP430Attrs::TagDataModel
@ TagDataModel
Definition:
MSP430Attributes.h:32
llvm::MSP430Attrs::TagEnumSize
@ TagEnumSize
Definition:
MSP430Attributes.h:33
llvm::MSP430Attrs::TagISA
@ TagISA
Definition:
MSP430Attributes.h:30
llvm::MSP430Attrs::TagCodeModel
@ TagCodeModel
Definition:
MSP430Attributes.h:31
llvm::MSP430Attrs::CodeModel
CodeModel
Definition:
MSP430Attributes.h:37
llvm::MSP430Attrs::CMLarge
@ CMLarge
Definition:
MSP430Attributes.h:37
llvm::MSP430Attrs::CMSmall
@ CMSmall
Definition:
MSP430Attributes.h:37
llvm::MSP430Attrs::ISA
ISA
Definition:
MSP430Attributes.h:36
llvm::MSP430Attrs::ISAMSP430
@ ISAMSP430
Definition:
MSP430Attributes.h:36
llvm::MSP430Attrs::ISAMSP430X
@ ISAMSP430X
Definition:
MSP430Attributes.h:36
llvm::MSP430Attrs::getMSP430AttributeTags
const TagNameMap & getMSP430AttributeTags()
Definition:
MSP430Attributes.cpp:20
llvm::MSP430Attrs::DataModel
DataModel
Definition:
MSP430Attributes.h:38
llvm::MSP430Attrs::DMLarge
@ DMLarge
Definition:
MSP430Attributes.h:38
llvm::MSP430Attrs::DMRestricted
@ DMRestricted
Definition:
MSP430Attributes.h:38
llvm::MSP430Attrs::DMSmall
@ DMSmall
Definition:
MSP430Attributes.h:38
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Sun Dec 29 2024 04:59:26 for LLVM by
1.9.6