LLVM 22.0.0git
ObjCARC.h File Reference

This file defines common definitions/declarations used by the ObjC ARC Optimizer. More...

Go to the source code of this file.

Classes

class  llvm::objcarc::BundledRetainClaimRVs

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::objcarc

Functions

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

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.