Lines Matching defs:ObjCARCContract
1 //===- ObjCARCContract.cpp - ObjC ARC Optimization ------------------------===//
26 // TODO: ObjCARCContract could insert PHI nodes when uses aren't
52 class ObjCARCContract : public FunctionPass {
89 ObjCARCContract() : FunctionPass(ID) {
95 char ObjCARCContract::ID = 0;
96 INITIALIZE_PASS_BEGIN(ObjCARCContract,
100 INITIALIZE_PASS_END(ObjCARCContract,
104 return new ObjCARCContract();
107 void ObjCARCContract::getAnalysisUsage(AnalysisUsage &AU) const {
117 ObjCARCContract::OptimizeRetainCall(Function &F, Instruction *Retain) {
151 ObjCARCContract::ContractAutorelease(Function &F, Instruction *Autorelease,
188 DEBUG(dbgs() << "ObjCARCContract::ContractAutorelease: Fusing "
209 void ObjCARCContract::ContractRelease(Instruction *Release,
295 bool ObjCARCContract::doInitialization(Module &M) {
317 bool ObjCARCContract::runOnFunction(Function &F) {
347 DEBUG(dbgs() << "ObjCARCContract: Visiting: " << *Inst << "\n");
392 DEBUG(dbgs() << "ObjCARCContract: Adding inline asm marker for "
440 DEBUG(dbgs() << "ObjCARCContract: Finished List.\n\n");