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 (B)

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.