LLVM  16.0.0git
Macros | Functions
ObjCARCAPElim.cpp File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/Analysis/ObjCARCInstKind.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/PassManager.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/ObjCARC.h"
Include dependency graph for ObjCARCAPElim.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "objc-arc-ap-elim"


 INITIALIZE_PASS (ObjCARCAPElim, "objc-arc-apelim", "ObjC ARC autorelease pool elimination", false, false) Pass *llvm

Detailed Description

This file defines 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 implements optimizations which remove extraneous autorelease pools.

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

Macro Definition Documentation


#define DEBUG_TYPE   "objc-arc-ap-elim"

Definition at line 41 of file ObjCARCAPElim.cpp.

Function Documentation


"objc-arc-apelim"  ,
"ObjC ARC autorelease pool elimination ,
false  ,

Definition at line 164 of file ObjCARCAPElim.cpp.