Lines Matching refs:AddrMode

2428 struct ExtAddrMode : public TargetLowering::AddrMode {
3122 ExtAddrMode &AddrMode; member in __anon5386100c0c11::AddressingModeMatcher
3157 AccessTy(AT), AddrSpace(AS), MemoryInst(MI), AddrMode(AM), in AddressingModeMatcher()
3862 if (AddrMode.Scale != 0 && AddrMode.ScaledReg != ScaleReg) in matchScaledValue()
3865 ExtAddrMode TestAddrMode = AddrMode; in matchScaledValue()
3877 AddrMode = TestAddrMode; in matchScaledValue()
3895 AddrMode = TestAddrMode; in matchScaledValue()
3899 TestAddrMode = AddrMode; in matchScaledValue()
3937 if (AddrMode.BaseOffs) { in matchScaledValue()
3946 APInt Offset = Step * AddrMode.Scale; in matchScaledValue()
3957 AddrMode = TestAddrMode; in matchScaledValue()
3961 TestAddrMode = AddrMode; in matchScaledValue()
4517 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4526 AddrMode.InBounds = false; in matchOperationAddr()
4532 AddrMode = BackupAddrMode; in matchOperationAddr()
4542 AddrMode = BackupAddrMode; in matchOperationAddr()
4553 AddrMode.InBounds = false; in matchOperationAddr()
4606 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4608 TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) { in matchOperationAddr()
4612 AddrMode.InBounds = false; in matchOperationAddr()
4636 AddrMode.BaseOffs -= ConstantOffset; in matchOperationAddr()
4641 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4645 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4647 AddrMode.InBounds = false; in matchOperationAddr()
4652 if (AddrMode.HasBaseReg) { in matchOperationAddr()
4653 AddrMode = BackupAddrMode; in matchOperationAddr()
4657 AddrMode.HasBaseReg = true; in matchOperationAddr()
4658 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4666 AddrMode = BackupAddrMode; in matchOperationAddr()
4668 if (AddrMode.HasBaseReg) in matchOperationAddr()
4670 AddrMode.HasBaseReg = true; in matchOperationAddr()
4671 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4672 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4676 AddrMode = BackupAddrMode; in matchOperationAddr()
4720 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4731 AddrMode = BackupAddrMode; in matchOperationAddr()
4756 AddrMode.BaseOffs += CI->getSExtValue(); in matchAddr()
4757 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4759 AddrMode.BaseOffs -= CI->getSExtValue(); in matchAddr()
4763 if (!AddrMode.BaseGV) { in matchAddr()
4764 AddrMode.BaseGV = GV; in matchAddr()
4765 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4767 AddrMode.BaseGV = nullptr; in matchAddr()
4770 ExtAddrMode BackupAddrMode = AddrMode; in matchAddr()
4784 isProfitableToFoldIntoAddressingMode(I, BackupAddrMode, AddrMode)) { in matchAddr()
4791 AddrMode = BackupAddrMode; in matchAddr()
4805 if (!AddrMode.HasBaseReg) { in matchAddr()
4806 AddrMode.HasBaseReg = true; in matchAddr()
4807 AddrMode.BaseReg = Addr; in matchAddr()
4809 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4811 AddrMode.HasBaseReg = false; in matchAddr()
4812 AddrMode.BaseReg = nullptr; in matchAddr()
4816 if (AddrMode.Scale == 0) { in matchAddr()
4817 AddrMode.Scale = 1; in matchAddr()
4818 AddrMode.ScaledReg = Addr; in matchAddr()
4819 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4821 AddrMode.Scale = 0; in matchAddr()
4822 AddrMode.ScaledReg = nullptr; in matchAddr()
5199 ExtAddrMode AddrMode = AddrModes.getAddrMode(); in optimizeMemoryInst() local
5208 LLVM_DEBUG(dbgs() << "CGP: Found local addrmode: " << AddrMode in optimizeMemoryInst()
5228 LLVM_DEBUG(dbgs() << "CGP: Reusing nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5236 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5242 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5243 ResultPtr = AddrMode.BaseReg; in optimizeMemoryInst()
5244 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5247 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5250 if (ResultPtr || AddrMode.Scale != 1) in optimizeMemoryInst()
5253 ResultPtr = AddrMode.ScaledReg; in optimizeMemoryInst()
5254 AddrMode.Scale = 0; in optimizeMemoryInst()
5264 if (AddrMode.Scale) { in optimizeMemoryInst()
5265 Type *ScaledRegTy = AddrMode.ScaledReg->getType(); in optimizeMemoryInst()
5271 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5275 ResultPtr = AddrMode.BaseGV; in optimizeMemoryInst()
5282 if (!ResultPtr && AddrMode.BaseReg) { in optimizeMemoryInst()
5283 ResultPtr = Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), in optimizeMemoryInst()
5285 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5286 } else if (!ResultPtr && AddrMode.Scale == 1) { in optimizeMemoryInst()
5287 ResultPtr = Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), in optimizeMemoryInst()
5289 AddrMode.Scale = 0; in optimizeMemoryInst()
5294 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { in optimizeMemoryInst()
5308 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5309 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5317 if (AddrMode.Scale) { in optimizeMemoryInst()
5318 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5328 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5329 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5338 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5339 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
5346 AddrMode.InBounds in optimizeMemoryInst()
5361 AddrMode.InBounds in optimizeMemoryInst()
5373 Type *BaseTy = AddrMode.BaseReg ? AddrMode.BaseReg->getType() : nullptr; in optimizeMemoryInst()
5374 Type *ScaleTy = AddrMode.Scale ? AddrMode.ScaledReg->getType() : nullptr; in optimizeMemoryInst()
5380 (AddrMode.BaseGV && in optimizeMemoryInst()
5381 DL->isNonIntegralPointerType(AddrMode.BaseGV->getType()))) in optimizeMemoryInst()
5384 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5394 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5395 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5404 if (AddrMode.Scale) { in optimizeMemoryInst()
5405 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5420 if (I && (Result != AddrMode.BaseReg)) in optimizeMemoryInst()
5424 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5425 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5434 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5435 Value *V = Builder.CreatePtrToInt(AddrMode.BaseGV, IntPtrTy, "sunkaddr"); in optimizeMemoryInst()
5443 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5444 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
5911 TargetLowering::AddrMode AddrMode; in splitLargeGEPOffsets() local
5912 AddrMode.BaseOffs = Offset - BaseOffset; in splitLargeGEPOffsets()
5915 if (!TLI->isLegalAddressingMode(*DL, AddrMode, in splitLargeGEPOffsets()