LLVM API Documentation
|STATISTIC (NumPeeps,"Number of calls peephole-optimized")|
|STATISTIC (NumStoreStrongs,"Number objc_storeStrong calls formed")|
|INITIALIZE_PASS_BEGIN (ObjCARCContract,"objc-arc-contract","ObjC ARC contraction", false, false) INITIALIZE_PASS_END(ObjCARCContract|
|objc arc ObjC ARC||contraction|
|objc arc ObjC ARC||false|
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.
|"ObjC ARC contraction"||,|
|"Number of calls peephole-optimized"|
|"Number objc_storeStrong calls formed"|