LLVM  15.0.0git
Classes | Namespaces | Functions
ObjCARC.h File Reference
#include "llvm/Analysis/EHPersonalities.h"
#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/Analysis/ObjCARCUtil.h"
#include "llvm/Transforms/Utils/Local.h"
Include dependency graph for ObjCARC.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  llvm::objcarc::BundledRetainClaimRVs


 This is an optimization pass for GlobalISel generic memory operations.


static void llvm::objcarc::EraseInstruction (Instruction *CI)
 Erase the given instruction. More...
static const Instruction * llvm::objcarc::getreturnRVOperand (const Instruction &Inst, ARCInstKind Class)
 If Inst is a ReturnRV and its operand is a call or invoke, return the operand. More...
template<class PHINodeTy , class VectorTy >
void llvm::objcarc::getEquivalentPHIs (PHINodeTy &PN, VectorTy &PHIList)
 Return the list of PHI nodes that are equivalent to PN. More...
static MDString * llvm::objcarc::getRVInstMarker (Module &M)
CallInstllvm::objcarc::createCallInstWithColors (FunctionCallee Func, ArrayRef< Value * > Args, const Twine &NameStr, Instruction *InsertBefore, const DenseMap< BasicBlock *, ColorVector > &BlockColors)
 Create a call instruction with the correct funclet token. More...

Detailed Description

This file defines common definitions/declarations used by the ObjC ARC Optimizer. ARC stands for Automatic Reference Counting and is a system for managing reference counts for objects in Objective C.

WARNING: This file knows about certain library functions. It recognizes them by name, and hardwires knowledge of their semantics.

WARNING: This file knows about how certain Objective-C library functions are used. Naive LLVM IR transformations which would otherwise be behavior-preserving may break these assumptions.

Definition in file ObjCARC.h.