Lines Matching refs:LOps
629 static bool foldLoadsRecursive(Value *V, LoadOps &LOps, const DataLayout &DL, in foldLoadsRecursive() argument
642 if (!foldLoadsRecursive(X, LOps, DL, AA) && LOps.FoundRoot) in foldLoadsRecursive()
649 LoadInst *LI1 = LOps.Root; in foldLoadsRecursive()
650 const APInt *ShAmt1 = LOps.Shift; in foldLoadsRecursive()
651 if (LOps.FoundRoot == false && in foldLoadsRecursive()
695 LoadInst *Start = LOps.FoundRoot ? LOps.RootInsert : LI1, *End = LI2; in foldLoadsRecursive()
700 if (LOps.FoundRoot) in foldLoadsRecursive()
701 Loc = Loc.getWithNewSize(LOps.LoadSize); in foldLoadsRecursive()
740 if (LOps.FoundRoot) { in foldLoadsRecursive()
742 LoadSize1 = LOps.LoadSize; in foldLoadsRecursive()
744 LoadSize2 = LOps.LoadSize; in foldLoadsRecursive()
756 AAMDNodes AATags1 = LOps.AATags; in foldLoadsRecursive()
758 if (LOps.FoundRoot == false) { in foldLoadsRecursive()
759 LOps.FoundRoot = true; in foldLoadsRecursive()
762 LOps.LoadSize = LoadSize1 + LoadSize2; in foldLoadsRecursive()
763 LOps.RootInsert = Start; in foldLoadsRecursive()
766 LOps.AATags = AATags1.concat(AATags2); in foldLoadsRecursive()
768 LOps.Root = LI1; in foldLoadsRecursive()
769 LOps.Shift = ShAmt1; in foldLoadsRecursive()
770 LOps.ZextType = X->getType(); in foldLoadsRecursive()
784 LoadOps LOps; in foldConsecutiveLoads() local
785 if (!foldLoadsRecursive(&I, LOps, DL, AA) || !LOps.FoundRoot) in foldConsecutiveLoads()
789 LoadInst *NewLoad = nullptr, *LI1 = LOps.Root; in foldConsecutiveLoads()
791 IntegerType *WiderType = IntegerType::get(I.getContext(), LOps.LoadSize); in foldConsecutiveLoads()
799 Allowed = TTI.allowsMisalignedMemoryAccesses(I.getContext(), LOps.LoadSize, in foldConsecutiveLoads()
806 Builder.SetInsertPoint(LOps.RootInsert); in foldConsecutiveLoads()
807 if (!DT.dominates(Load1Ptr, LOps.RootInsert)) { in foldConsecutiveLoads()
819 if (LOps.AATags) in foldConsecutiveLoads()
820 NewLoad->setAAMetadata(LOps.AATags); in foldConsecutiveLoads()
824 if (LOps.ZextType) in foldConsecutiveLoads()
825 NewOp = Builder.CreateZExt(NewOp, LOps.ZextType); in foldConsecutiveLoads()
829 if (LOps.Shift) in foldConsecutiveLoads()
830 NewOp = Builder.CreateShl(NewOp, ConstantInt::get(I.getContext(), *LOps.Shift)); in foldConsecutiveLoads()