Lines Matching defs:DSEState

784 struct DSEState {  struct
785 Function &F;
786 AliasAnalysis &AA;
787 EarliestEscapeInfo EI;
796 BatchAAResults BatchAA;
798 MemorySSA &MSSA;
799 DominatorTree &DT;
800 PostDominatorTree &PDT;
801 const TargetLibraryInfo &TLI;
802 const DataLayout &DL;
803 const LoopInfo &LI;
807 bool ContainsIrreducibleLoops;
810 SmallVector<MemoryDef *, 64> MemDefs;
812 SmallPtrSet<MemoryAccess *, 4> SkipStores;
814 DenseMap<const Value *, bool> CapturedBeforeReturn;
817 DenseMap<const Value *, bool> InvisibleToCallerAfterRet;
819 SmallPtrSet<BasicBlock *, 16> ThrowingBlocks;
822 DenseMap<BasicBlock *, unsigned> PostOrderNumbers;
825 SmallPtrSet<const Value *, 32> EphValues;
829 MapVector<BasicBlock *, InstOverlapIntervalsTy> IOLs;
833 bool AnyUnreachableExit;
838 bool ShouldIterateEndOfFunctionDSE;
844 DSEState(Function &F, AliasAnalysis &AA, MemorySSA &MSSA, DominatorTree &DT, in DSEState() argument
882 LocationSize strengthenLocationSize(const Instruction *I, in strengthenLocationSize()
911 OverwriteResult isOverwrite(const Instruction *KillingI, in isOverwrite()
1041 bool isInvisibleToCallerAfterRet(const Value *V) { in isInvisibleToCallerAfterRet()
1055 bool isInvisibleToCallerOnUnwind(const Value *V) { in isInvisibleToCallerOnUnwind()
1072 std::optional<MemoryLocation> getLocForWrite(Instruction *I) const { in getLocForWrite()
1084 bool isRemovable(Instruction *I) { in isRemovable()
1110 bool isCompleteOverwrite(const MemoryLocation &DefLoc, Instruction *DefInst, in isCompleteOverwrite()
1130 bool isWriteAtEndOfFunction(MemoryDef *Def) { in isWriteAtEndOfFunction()
1185 getLocForTerminator(Instruction *I) const { in getLocForTerminator()
1202 bool isMemTerminatorInst(Instruction *I) const { in isMemTerminatorInst()
1210 bool isMemTerminator(const MemoryLocation &Loc, Instruction *AccessI, in isMemTerminator()
1236 bool isReadClobber(const MemoryLocation &DefLoc, Instruction *UseInst) { in isReadClobber()
1260 bool isGuaranteedLoopIndependent(const Instruction *Current, in isGuaranteedLoopIndependent()
1280 bool isGuaranteedLoopInvariant(const Value *Ptr) { in isGuaranteedLoopInvariant()
1300 getDomMemoryDef(MemoryDef *KillingDef, MemoryAccess *StartAccess, in getDomMemoryDef()
1671 void deleteDeadInstruction(Instruction *SI) { in deleteDeadInstruction()
1722 bool mayThrowBetween(Instruction *KillingI, Instruction *DeadI, in mayThrowBetween()
1740 bool isDSEBarrier(const Value *KillingUndObj, Instruction *DeadI) { in isDSEBarrier()
1765 bool eliminateDeadWritesAtEndOfFunction() { in eliminateDeadWritesAtEndOfFunction()
1805 bool tryFoldIntoCalloc(MemoryDef *Def, const Value *DefUO) { in tryFoldIntoCalloc()
1882 bool storeIsNoop(MemoryDef *Def, const Value *DefUO) { in storeIsNoop()
1957 bool removePartiallyOverlappedStores(InstOverlapIntervalsTy &IOL) { in removePartiallyOverlappedStores()
1979 bool eliminateRedundantStoresOfExistingValues() { in eliminateRedundantStoresOfExistingValues()