LLVM
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
w
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
o
p
q
r
s
t
u
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
include
llvm
Support
RISCVAttributes.h
Go to the documentation of this file.
1
//===-- RISCVAttributes.h - RISCV 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
// This file contains enumerations for RISCV attributes as defined in RISC-V
10
// ELF psABI specification.
11
//
12
// RISC-V ELF psABI specification
13
//
14
// https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
15
//
16
//===----------------------------------------------------------------------===//
17
#ifndef LLVM_SUPPORT_RISCVATTRIBUTES_H
18
#define LLVM_SUPPORT_RISCVATTRIBUTES_H
19
20
#include "
llvm/Support/ELFAttributes.h
"
21
22
namespace
llvm
{
23
namespace
RISCVAttrs {
24
25
const
TagNameMap
&
getRISCVAttributeTags
();
26
27
enum
AttrType
:
unsigned
{
28
// Attribute types in ELF/.riscv.attributes.
29
STACK_ALIGN
= 4,
30
ARCH
= 5,
31
UNALIGNED_ACCESS
= 6,
32
PRIV_SPEC
= 8,
33
PRIV_SPEC_MINOR
= 10,
34
PRIV_SPEC_REVISION
= 12,
35
ATOMIC_ABI
= 14,
36
};
37
38
enum class
RISCVAtomicAbiTag
:
unsigned
{
39
// Values for Tag_RISCV_atomic_abi
40
// Defined at
41
// https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version
42
UNKNOWN
= 0,
43
A6C
= 1,
44
A6S
= 2,
45
A7
= 3,
46
};
47
48
enum
{
NOT_ALLOWED
= 0,
ALLOWED
= 1 };
49
50
}
// namespace RISCVAttrs
51
}
// namespace llvm
52
53
#endif
ELFAttributes.h
llvm::ArrayRef< TagNameItem >
llvm::RISCVAttrs::RISCVAtomicAbiTag
RISCVAtomicAbiTag
Definition:
RISCVAttributes.h:38
llvm::RISCVAttrs::RISCVAtomicAbiTag::A6S
@ A6S
llvm::RISCVAttrs::RISCVAtomicAbiTag::UNKNOWN
@ UNKNOWN
llvm::RISCVAttrs::RISCVAtomicAbiTag::A6C
@ A6C
llvm::RISCVAttrs::RISCVAtomicAbiTag::A7
@ A7
llvm::RISCVAttrs::NOT_ALLOWED
@ NOT_ALLOWED
Definition:
RISCVAttributes.h:48
llvm::RISCVAttrs::ALLOWED
@ ALLOWED
Definition:
RISCVAttributes.h:48
llvm::RISCVAttrs::AttrType
AttrType
Definition:
RISCVAttributes.h:27
llvm::RISCVAttrs::ARCH
@ ARCH
Definition:
RISCVAttributes.h:30
llvm::RISCVAttrs::PRIV_SPEC_MINOR
@ PRIV_SPEC_MINOR
Definition:
RISCVAttributes.h:33
llvm::RISCVAttrs::STACK_ALIGN
@ STACK_ALIGN
Definition:
RISCVAttributes.h:29
llvm::RISCVAttrs::ATOMIC_ABI
@ ATOMIC_ABI
Definition:
RISCVAttributes.h:35
llvm::RISCVAttrs::PRIV_SPEC
@ PRIV_SPEC
Definition:
RISCVAttributes.h:32
llvm::RISCVAttrs::UNALIGNED_ACCESS
@ UNALIGNED_ACCESS
Definition:
RISCVAttributes.h:31
llvm::RISCVAttrs::PRIV_SPEC_REVISION
@ PRIV_SPEC_REVISION
Definition:
RISCVAttributes.h:34
llvm::RISCVAttrs::getRISCVAttributeTags
const TagNameMap & getRISCVAttributeTags()
Definition:
RISCVAttributes.cpp:25
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Wed Mar 5 2025 02:21:36 for LLVM by
1.9.6