LLVM  14.0.0git
Macros | Functions
ObjCARCAliasAnalysis.cpp File Reference
#include "llvm/Analysis/ObjCARCAliasAnalysis.h"
#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
Include dependency graph for ObjCARCAliasAnalysis.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "objc-arc-aa"


 INITIALIZE_PASS (ObjCARCAAWrapperPass, "objc-arc-aa", "ObjC-ARC-Based Alias Analysis", false, true) ImmutablePass *llvm

Detailed Description

This file defines a simple ARC-aware AliasAnalysis using special knowledge of Objective C to enhance other optimization passes which rely on the Alias Analysis infrastructure.

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.

TODO: Theoretically we could check for dependencies between objc_* calls and FMRB_OnlyAccessesArgumentPointees calls or other well-behaved calls.

Definition in file ObjCARCAliasAnalysis.cpp.

Macro Definition Documentation


#define DEBUG_TYPE   "objc-arc-aa"

Definition at line 34 of file ObjCARCAliasAnalysis.cpp.

Function Documentation


"objc-arc-aa ,
"ObjC-ARC-Based Alias Analysis ,
false  ,

Definition at line 144 of file ObjCARCAliasAnalysis.cpp.