LLVM: lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
12
13using namespace llvm;
14
18 switch (Type) {
19 default:
27 }
28}
29
31 const MCExpr *ExprValue) {
36 return;
37 }
38 }
39
40 DelayedExprs.emplace_back(DN, Type, ExprValue);
41}
42
44 while (!DelayedExprs.empty()) {
45 Expr DE = DelayedExprs.front();
47
49 return false;
50
51 DelayedExprs.pop_front();
52 DE.DN = getNode(DE.DN, DE.Type, Res);
53 }
54
55 return true;
56}
57
59
static msgpack::DocNode getNode(msgpack::DocNode DN, msgpack::Type Type, MCValue Val)
Definition AMDGPUDelayedMCExpr.cpp:15
void assignDocNode(msgpack::DocNode &DN, msgpack::Type Type, const MCExpr *ExprValue)
Definition AMDGPUDelayedMCExpr.cpp:30
void clear()
Definition AMDGPUDelayedMCExpr.cpp:58
bool empty()
Definition AMDGPUDelayedMCExpr.cpp:60
bool resolveDelayedExpressions()
Definition AMDGPUDelayedMCExpr.cpp:43
Base class for the full range of assembler expressions which are needed for parsing.
LLVM_ABI bool evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm) const
Try to evaluate the expression to a relocatable value, i.e.
int64_t getConstant() const
bool isAbsolute() const
Is this an absolute (as opposed to relocatable) value.
The instances of the Type class are immutable: once they are created, they are never changed.
A node in a MsgPack Document.
Document * getDocument() const
Simple in-memory representation of a document of msgpack objects with ability to find and create arra...
DocNode getEmptyNode()
Create an empty node associated with this Document.
DocNode getNode()
Create a nil node associated with this Document.
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This is an optimization pass for GlobalISel generic memory operations.