Lines Matching refs:AddrMode
2675 struct ExtAddrMode : public TargetLowering::AddrMode {
3371 ExtAddrMode &AddrMode; member in __anon01de4a8e0c11::AddressingModeMatcher
3406 AccessTy(AT), AddrSpace(AS), MemoryInst(MI), AddrMode(AM), in AddressingModeMatcher()
4118 if (AddrMode.Scale != 0 && AddrMode.ScaledReg != ScaleReg) in matchScaledValue()
4121 ExtAddrMode TestAddrMode = AddrMode; in matchScaledValue()
4133 AddrMode = TestAddrMode; in matchScaledValue()
4152 AddrMode = TestAddrMode; in matchScaledValue()
4156 TestAddrMode = AddrMode; in matchScaledValue()
4194 if (AddrMode.BaseOffs) { in matchScaledValue()
4203 APInt Offset = Step * AddrMode.Scale; in matchScaledValue()
4214 AddrMode = TestAddrMode; in matchScaledValue()
4218 TestAddrMode = AddrMode; in matchScaledValue()
4760 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4775 AddrMode.InBounds = false; in matchOperationAddr()
4781 AddrMode = BackupAddrMode; in matchOperationAddr()
4792 AddrMode = BackupAddrMode; in matchOperationAddr()
4803 AddrMode.InBounds = false; in matchOperationAddr()
4856 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4859 AddrMode.InBounds = false; in matchOperationAddr()
4862 AddrMode.BaseOffs -= ConstantOffset; in matchOperationAddr()
4890 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4894 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4896 AddrMode.InBounds = false; in matchOperationAddr()
4901 if (AddrMode.HasBaseReg) { in matchOperationAddr()
4902 AddrMode = BackupAddrMode; in matchOperationAddr()
4906 AddrMode.HasBaseReg = true; in matchOperationAddr()
4907 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4915 AddrMode = BackupAddrMode; in matchOperationAddr()
4917 if (AddrMode.HasBaseReg) in matchOperationAddr()
4919 AddrMode.HasBaseReg = true; in matchOperationAddr()
4920 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4921 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4925 AddrMode = BackupAddrMode; in matchOperationAddr()
4969 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4980 AddrMode = BackupAddrMode; in matchOperationAddr()
5005 AddrMode.BaseOffs += CI->getSExtValue(); in matchAddr()
5006 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
5008 AddrMode.BaseOffs -= CI->getSExtValue(); in matchAddr()
5012 if (!AddrMode.BaseGV) { in matchAddr()
5013 AddrMode.BaseGV = GV; in matchAddr()
5014 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
5016 AddrMode.BaseGV = nullptr; in matchAddr()
5019 ExtAddrMode BackupAddrMode = AddrMode; in matchAddr()
5033 isProfitableToFoldIntoAddressingMode(I, BackupAddrMode, AddrMode)) { in matchAddr()
5039 AddrMode = BackupAddrMode; in matchAddr()
5053 if (!AddrMode.HasBaseReg) { in matchAddr()
5054 AddrMode.HasBaseReg = true; in matchAddr()
5055 AddrMode.BaseReg = Addr; in matchAddr()
5057 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
5059 AddrMode.HasBaseReg = false; in matchAddr()
5060 AddrMode.BaseReg = nullptr; in matchAddr()
5064 if (AddrMode.Scale == 0) { in matchAddr()
5065 AddrMode.Scale = 1; in matchAddr()
5066 AddrMode.ScaledReg = Addr; in matchAddr()
5067 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
5069 AddrMode.Scale = 0; in matchAddr()
5070 AddrMode.ScaledReg = nullptr; in matchAddr()
5441 ExtAddrMode AddrMode = AddrModes.getAddrMode(); in optimizeMemoryInst() local
5450 LLVM_DEBUG(dbgs() << "CGP: Found local addrmode: " << AddrMode in optimizeMemoryInst()
5471 LLVM_DEBUG(dbgs() << "CGP: Reusing nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5492 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5497 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5498 ResultPtr = AddrMode.BaseReg; in optimizeMemoryInst()
5499 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5502 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5505 if (ResultPtr || AddrMode.Scale != 1) in optimizeMemoryInst()
5508 ResultPtr = AddrMode.ScaledReg; in optimizeMemoryInst()
5509 AddrMode.Scale = 0; in optimizeMemoryInst()
5519 if (AddrMode.Scale) { in optimizeMemoryInst()
5520 Type *ScaledRegTy = AddrMode.ScaledReg->getType(); in optimizeMemoryInst()
5526 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5530 ResultPtr = AddrMode.BaseGV; in optimizeMemoryInst()
5537 if (!ResultPtr && AddrMode.BaseReg) { in optimizeMemoryInst()
5538 ResultPtr = Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), in optimizeMemoryInst()
5540 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5541 } else if (!ResultPtr && AddrMode.Scale == 1) { in optimizeMemoryInst()
5542 ResultPtr = Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), in optimizeMemoryInst()
5544 AddrMode.Scale = 0; in optimizeMemoryInst()
5548 if (!ResultPtr && !AddrMode.BaseReg && !AddrMode.Scale && in optimizeMemoryInst()
5549 !AddrMode.BaseOffs) { in optimizeMemoryInst()
5562 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5563 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5571 if (AddrMode.Scale) { in optimizeMemoryInst()
5572 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5582 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5583 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5592 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5593 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
5600 AddrMode.InBounds); in optimizeMemoryInst()
5612 AddrMode.InBounds); in optimizeMemoryInst()
5634 Type *BaseTy = AddrMode.BaseReg ? AddrMode.BaseReg->getType() : nullptr; in optimizeMemoryInst()
5635 Type *ScaleTy = AddrMode.Scale ? AddrMode.ScaledReg->getType() : nullptr; in optimizeMemoryInst()
5641 (AddrMode.BaseGV && in optimizeMemoryInst()
5642 DL->isNonIntegralPointerType(AddrMode.BaseGV->getType()))) in optimizeMemoryInst()
5645 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5655 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5656 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5665 if (AddrMode.Scale) { in optimizeMemoryInst()
5666 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5681 if (I && (Result != AddrMode.BaseReg)) in optimizeMemoryInst()
5685 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5686 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5695 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5696 Value *V = Builder.CreatePtrToInt(AddrMode.BaseGV, IntPtrTy, "sunkaddr"); in optimizeMemoryInst()
5704 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5705 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
6221 TargetLowering::AddrMode AddrMode; in splitLargeGEPOffsets() local
6222 AddrMode.HasBaseReg = true; in splitLargeGEPOffsets()
6223 AddrMode.BaseOffs = Offset - BaseOffset; in splitLargeGEPOffsets()
6226 if (!TLI->isLegalAddressingMode(*DL, AddrMode, in splitLargeGEPOffsets()