LLVM 23.0.0git
BundleAttributes.h
Go to the documentation of this file.
1//===- llvm/BundleAttributes.h - LLVM Bundle 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#ifndef LLVM_IR_BUNDLE_ATTRIBUTES_H
10#define LLVM_IR_BUNDLE_ATTRIBUTES_H
11
12#include "llvm/ADT/StringRef.h"
13#include "llvm/IR/InstrTypes.h"
14
15enum class BundleAttr {
17#define ATTR(Name, String) Name,
18#include "BundleAttributes.def"
19};
20
21namespace llvm {
22
25
29
31 const Use &Ptr;
32 const Use &Alignment;
33 std::optional<uint64_t> AlignmentVal;
34 std::optional<uint64_t> OffsetVal;
35};
36
38
40 const Use &Ptr;
41 const Use &Count;
42 std::optional<uint64_t> CountVal;
43};
44
47
49 const Use &Ptr;
50};
51
53
55 const Use &Ptr1;
56 const Use &Ptr2;
57};
58
61
62} // namespace llvm
63
64#endif // LLVM_IR_BUNDLE_ATTRIBUTES_H
BundleAttr
#define LLVM_ABI
Definition Compiler.h:213
@ None
Represent a constant reference to a string, i.e.
Definition StringRef.h:56
A Use represents the edge between a Value definition and its users.
Definition Use.h:35
This is an optimization pass for GlobalISel generic memory operations.
BundleAttr getBundleAttrFromOBU(OperandBundleUse OBU)
LLVM_ABI AssumeSeparateStorageInfo getAssumeSeparateStorageInfo(OperandBundleUse)
LLVM_ABI BundleAttr getBundleAttrFromString(StringRef)
LLVM_ABI AssumeNonNullInfo getAssumeNonNullInfo(OperandBundleUse)
LLVM_ABI StringRef getNameFromBundleAttr(BundleAttr)
LLVM_ABI AssumeAlignInfo getAssumeAlignInfo(OperandBundleUse)
LLVM_ABI AssumeDereferenceableInfo getAssumeDereferenceableInfo(OperandBundleUse)
std::optional< uint64_t > AlignmentVal
std::optional< uint64_t > OffsetVal
std::optional< uint64_t > CountVal
A lightweight accessor for an operand bundle meant to be passed around by value.
StringRef getTagName() const
Return the tag of this operand bundle as a string.