LLVM: lib/Transforms/ObjCARC/ObjCARCContract.cpp File Reference (original) (raw)

This file defines late ObjC ARC optimizations.

ARC stands for Automatic Reference Counting and is a system for managing reference counts for objects in Objective C.

This specific file mainly deals with `‘contracting’' multiple lower level operations into singular higher level operations through pattern matching.

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 ObjCARCContract.cpp.