Visitor to rewrite instructions using p particular slice of an alloca to use a new alloca.
More...
|
| | AllocaSliceRewriter (const DataLayout &DL, AllocaSlices &AS, SROA &Pass, AllocaInst &OldAI, AllocaInst &NewAI, uint64_t NewAllocaBeginOffset, uint64_t NewAllocaEndOffset, bool IsIntegerPromotable, VectorType *PromotableVecTy, SmallPtrSetImpl< PHINode * > &PHIUsers, SmallPtrSetImpl< SelectInst * > &SelectUsers) |
| |
| bool | visit (AllocaSlices::const_iterator I) |
| |
| void | visit (Iterator Start, Iterator End) |
| |
| void | visit (Module &M) |
| |
| void | visit (Function &F) |
| |
| void | visit (BasicBlock &BB) |
| |
| void | visit (Module *M) |
| |
| void | visit (Function *F) |
| |
| void | visit (BasicBlock *BB) |
| |
| bool | visit (Instruction *I) |
| |
| bool | visit (Instruction &I) |
| |
| void | visitModule (Module &M) |
| |
| void | visitFunction (Function &F) |
| |
| void | visitBasicBlock (BasicBlock &BB) |
| |
| bool | visitReturnInst (ReturnInst &I) |
| |
| bool | visitBranchInst (BranchInst &I) |
| |
| bool | visitSwitchInst (SwitchInst &I) |
| |
| bool | visitIndirectBrInst (IndirectBrInst &I) |
| |
| bool | visitResumeInst (ResumeInst &I) |
| |
| bool | visitUnreachableInst (UnreachableInst &I) |
| |
| bool | visitCleanupReturnInst (CleanupReturnInst &I) |
| |
| bool | visitCatchReturnInst (CatchReturnInst &I) |
| |
| bool | visitCatchSwitchInst (CatchSwitchInst &I) |
| |
| bool | visitICmpInst (ICmpInst &I) |
| |
| bool | visitFCmpInst (FCmpInst &I) |
| |
| bool | visitAllocaInst (AllocaInst &I) |
| |
| bool | visitLoadInst (LoadInst &I) |
| |
| bool | visitStoreInst (StoreInst &I) |
| |
| bool | visitAtomicCmpXchgInst (AtomicCmpXchgInst &I) |
| |
| bool | visitAtomicRMWInst (AtomicRMWInst &I) |
| |
| bool | visitFenceInst (FenceInst &I) |
| |
| bool | visitGetElementPtrInst (GetElementPtrInst &I) |
| |
| bool | visitPHINode (PHINode &I) |
| |
| bool | visitTruncInst (TruncInst &I) |
| |
| bool | visitZExtInst (ZExtInst &I) |
| |
| bool | visitSExtInst (SExtInst &I) |
| |
| bool | visitFPTruncInst (FPTruncInst &I) |
| |
| bool | visitFPExtInst (FPExtInst &I) |
| |
| bool | visitFPToUIInst (FPToUIInst &I) |
| |
| bool | visitFPToSIInst (FPToSIInst &I) |
| |
| bool | visitUIToFPInst (UIToFPInst &I) |
| |
| bool | visitSIToFPInst (SIToFPInst &I) |
| |
| bool | visitPtrToIntInst (PtrToIntInst &I) |
| |
| bool | visitIntToPtrInst (IntToPtrInst &I) |
| |
| bool | visitBitCastInst (BitCastInst &I) |
| |
| bool | visitAddrSpaceCastInst (AddrSpaceCastInst &I) |
| |
| bool | visitSelectInst (SelectInst &I) |
| |
| bool | visitVAArgInst (VAArgInst &I) |
| |
| bool | visitExtractElementInst (ExtractElementInst &I) |
| |
| bool | visitInsertElementInst (InsertElementInst &I) |
| |
| bool | visitShuffleVectorInst (ShuffleVectorInst &I) |
| |
| bool | visitExtractValueInst (ExtractValueInst &I) |
| |
| bool | visitInsertValueInst (InsertValueInst &I) |
| |
| bool | visitLandingPadInst (LandingPadInst &I) |
| |
| bool | visitFuncletPadInst (FuncletPadInst &I) |
| |
| bool | visitCleanupPadInst (CleanupPadInst &I) |
| |
| bool | visitCatchPadInst (CatchPadInst &I) |
| |
| bool | visitDbgDeclareInst (DbgDeclareInst &I) |
| |
| bool | visitDbgValueInst (DbgValueInst &I) |
| |
| bool | visitDbgInfoIntrinsic (DbgInfoIntrinsic &I) |
| |
| bool | visitMemSetInst (MemSetInst &I) |
| |
| bool | visitMemCpyInst (MemCpyInst &I) |
| |
| bool | visitMemMoveInst (MemMoveInst &I) |
| |
| bool | visitMemTransferInst (MemTransferInst &I) |
| |
| bool | visitMemIntrinsic (MemIntrinsic &I) |
| |
| bool | visitVAStartInst (VAStartInst &I) |
| |
| bool | visitVAEndInst (VAEndInst &I) |
| |
| bool | visitVACopyInst (VACopyInst &I) |
| |
| bool | visitIntrinsicInst (IntrinsicInst &I) |
| |
| bool | visitCallInst (CallInst &I) |
| |
| bool | visitInvokeInst (InvokeInst &I) |
| |
| bool | visitCastInst (CastInst &I) |
| |
| bool | visitBinaryOperator (BinaryOperator &I) |
| |
| bool | visitCmpInst (CmpInst &I) |
| |
| bool | visitTerminatorInst (TerminatorInst &I) |
| |
| bool | visitUnaryInstruction (UnaryInstruction &I) |
| |
| bool | visitCallSite (CallSite CS) |
| |
| void | visitInstruction (Instruction &I) |
| |
Visitor to rewrite instructions using p particular slice of an alloca to use a new alloca.
Also implements the rewriting to vector-based accesses when the partition passes the isVectorPromotionViable predicate. Most of the rewriting logic lives here.
Definition at line 2142 of file SROA.cpp.