LLVM 20.0.0git
Classes | Namespaces | Functions
ObjCARC.h File Reference

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

#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/Analysis/ObjCARCUtil.h"
#include "llvm/IR/EHPersonalities.h"
#include "llvm/Transforms/Utils/Local.h"

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 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.
 
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 MDString * llvm::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.