LLVM 19.0.0git
AMDGPUDelayedMCExpr.h
Go to the documentation of this file.
1//===- AMDGPUDelayedMCExpr.h - Delayed MCExpr resolve -----------*- 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_LIB_TARGET_AMDGPU_UTILS_AMDGPUDELAYEDMCEXPR_H
10#define LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUDELAYEDMCEXPR_H
11
13#include <deque>
14
15namespace llvm {
16class MCExpr;
17
19 struct Expr {
22 const MCExpr *ExprValue;
23 Expr(msgpack::DocNode &DN, msgpack::Type Type, const MCExpr *ExprValue)
24 : DN(DN), Type(Type), ExprValue(ExprValue) {}
25 };
26
27 std::deque<Expr> DelayedExprs;
28
29public:
32 const MCExpr *ExprValue);
33 void clear();
34 bool empty();
35};
36
37} // end namespace llvm
38
39#endif // LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUDELAYEDMCEXPR_H
This file declares a class that exposes a simple in-memory representation of a document of MsgPack ob...
void assignDocNode(msgpack::DocNode &DN, msgpack::Type Type, const MCExpr *ExprValue)
Base class for the full range of assembler expressions which are needed for parsing.
Definition: MCExpr.h:35
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
A node in a MsgPack Document.
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
Definition: MsgPackReader.h:53
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18