LLVM 19.0.0git
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
22
23namespace llvm {
24namespace MSP430Attrs {
25
27
28enum AttrType : unsigned {
29 // Attribute types in ELF/.MSP430.attributes.
30 TagISA = 4,
33 TagEnumSize = 10
34};
35
36enum ISA { ISAMSP430 = 1, ISAMSP430X = 2 };
37enum CodeModel { CMSmall = 1, CMLarge = 2 };
38enum DataModel { DMSmall = 1, DMLarge = 2, DMRestricted = 3 };
39enum EnumSize { ESSmall = 1, ESInteger = 2, ESDontCare = 3 };
40
41} // namespace MSP430Attrs
42} // namespace llvm
43
44#endif
const TagNameMap & getMSP430AttributeTags()
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18