LLVM: include/llvm/Analysis/ObjCARCUtil.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_ANALYSIS_OBJCARCUTIL_H
15#define LLVM_ANALYSIS_OBJCARCUTIL_H
16
21
22namespace llvm {
24
26 return "clang.arc.retainAutoreleasedReturnValueMarker";
27}
28
30
31
32
33
34
35
38 .has_value();
39}
40
41
42
45 if ()
46 return std::nullopt;
47
49}
50
51
52
53
54
55
56
57
59
61 if ((*Fn)->getName() == "objc_claimAutoreleasedReturnValue")
62 return false;
63 return true;
64}
65
66
70
71
72
73
74
77 if (!Fn)
81 return FnClass;
82}
83
84}
85}
86
87#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
std::optional< OperandBundleUse > getOperandBundle(StringRef Name) const
Return an operand bundle by name, if present.
FunctionType * getFunctionType() const
Type * getReturnType() const
@ OB_clang_arc_attachedcall
bool isVoidTy() const
Return true if this is 'void'.
ARCInstKind getAttachedARCFunctionKind(const CallBase *CB)
This function returns the ARCInstKind of the function attached to operand bundle clang_arc_attachedca...
Definition ObjCARCUtil.h:75
const char * getRVMarkerModuleFlagStr()
Definition ObjCARCUtil.h:25
ARCInstKind
Equivalence classes of instructions in the ARC Model.
@ None
anything that is inert from an ARC perspective.
@ RetainRV
objc_retainAutoreleasedReturnValue
@ UnsafeClaimRV
objc_unsafeClaimAutoreleasedReturnValue
ARCInstKind GetFunctionClass(const Function *F)
Determine if F is one of the special known Functions.
std::optional< Function * > getAttachedARCFunction(const CallBase *CB)
This function returns operand bundle clang_arc_attachedcall's argument, which is the address of the A...
Definition ObjCARCUtil.h:43
bool isRetainOrClaimRV(ARCInstKind Kind)
Check whether the function is retainRV/unsafeClaimRV.
Definition ObjCARCUtil.h:67
bool attachedCallOpBundleNeedsMarker(const CallBase *CB)
This function determines whether the clang_arc_attachedcall should be emitted with or without the mar...
Definition ObjCARCUtil.h:58
bool hasAttachedCallOpBundle(const CallBase *CB)
Definition ObjCARCUtil.h:29
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) cast(const From &Val)
cast - Return the argument parameter cast to the specified type.