LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Enumerations | Functions
DependencyAnalysis.h File Reference
#include "llvm/ADT/SmallPtrSet.h"
Include dependency graph for DependencyAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 
 llvm::objcarc
 

Enumerations

enum  llvm::objcarc::DependenceKind {
  llvm::objcarc::NeedsPositiveRetainCount, llvm::objcarc::AutoreleasePoolBoundary, llvm::objcarc::CanChangeRetainCount, llvm::objcarc::RetainAutoreleaseDep,
  llvm::objcarc::RetainAutoreleaseRVDep, llvm::objcarc::RetainRVDep
}
 Defines different dependence kinds among various ARC constructs. More...
 

Functions

void llvm::objcarc::FindDependencies (DependenceKind Flavor, const Value *Arg, BasicBlock *StartBB, Instruction *StartInst, SmallPtrSet< Instruction *, 4 > &DependingInstructions, SmallPtrSet< const BasicBlock *, 4 > &Visited, ProvenanceAnalysis &PA)
 
bool llvm::objcarc::Depends (DependenceKind Flavor, Instruction *Inst, const Value *Arg, ProvenanceAnalysis &PA)
 
bool llvm::objcarc::CanUse (const Instruction *Inst, const Value *Ptr, ProvenanceAnalysis &PA, InstructionClass Class)
 
bool llvm::objcarc::CanAlterRefCount (const Instruction *Inst, const Value *Ptr, ProvenanceAnalysis &PA, InstructionClass Class)
 

Detailed Description

This file declares special dependency analysis routines used in Objective C ARC Optimizations.

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 DependencyAnalysis.h.