LLVM  8.0.1
Namespaces | Functions
ObjCARC.h File Reference

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

#include "llvm/ADT/StringSwitch.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/Analysis/ObjCARCInstKind.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/ObjCARC.h"
Include dependency graph for ObjCARC.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::objcarc
 

Functions

static void llvm::objcarc::EraseInstruction (Instruction *CI)
 Erase the given instruction. More...
 
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. More...
 
template<class PHINodeTy , class VectorTy >
void llvm::objcarc::getEquivalentPHIs (PHINodeTy &PN, VectorTy &PHIList)
 Return the list of PHI nodes that are equivalent to PN. More...
 

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.