Lines Matching refs:AddrMode

2447 struct ExtAddrMode : public TargetLowering::AddrMode {
3141 ExtAddrMode &AddrMode; member in __anon78e22a880c11::AddressingModeMatcher
3176 AccessTy(AT), AddrSpace(AS), MemoryInst(MI), AddrMode(AM), in AddressingModeMatcher()
3882 if (AddrMode.Scale != 0 && AddrMode.ScaledReg != ScaleReg) in matchScaledValue()
3885 ExtAddrMode TestAddrMode = AddrMode; in matchScaledValue()
3897 AddrMode = TestAddrMode; in matchScaledValue()
3915 AddrMode = TestAddrMode; in matchScaledValue()
3919 TestAddrMode = AddrMode; in matchScaledValue()
3957 if (AddrMode.BaseOffs) { in matchScaledValue()
3966 APInt Offset = Step * AddrMode.Scale; in matchScaledValue()
3977 AddrMode = TestAddrMode; in matchScaledValue()
3981 TestAddrMode = AddrMode; in matchScaledValue()
4537 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4546 AddrMode.InBounds = false; in matchOperationAddr()
4552 AddrMode = BackupAddrMode; in matchOperationAddr()
4562 AddrMode = BackupAddrMode; in matchOperationAddr()
4573 AddrMode.InBounds = false; in matchOperationAddr()
4626 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4628 TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) { in matchOperationAddr()
4632 AddrMode.InBounds = false; in matchOperationAddr()
4656 AddrMode.BaseOffs -= ConstantOffset; in matchOperationAddr()
4661 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4665 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4667 AddrMode.InBounds = false; in matchOperationAddr()
4672 if (AddrMode.HasBaseReg) { in matchOperationAddr()
4673 AddrMode = BackupAddrMode; in matchOperationAddr()
4677 AddrMode.HasBaseReg = true; in matchOperationAddr()
4678 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4686 AddrMode = BackupAddrMode; in matchOperationAddr()
4688 if (AddrMode.HasBaseReg) in matchOperationAddr()
4690 AddrMode.HasBaseReg = true; in matchOperationAddr()
4691 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4692 AddrMode.BaseOffs += ConstantOffset; in matchOperationAddr()
4696 AddrMode = BackupAddrMode; in matchOperationAddr()
4740 ExtAddrMode BackupAddrMode = AddrMode; in matchOperationAddr()
4751 AddrMode = BackupAddrMode; in matchOperationAddr()
4776 AddrMode.BaseOffs += CI->getSExtValue(); in matchAddr()
4777 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4779 AddrMode.BaseOffs -= CI->getSExtValue(); in matchAddr()
4783 if (!AddrMode.BaseGV) { in matchAddr()
4784 AddrMode.BaseGV = GV; in matchAddr()
4785 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4787 AddrMode.BaseGV = nullptr; in matchAddr()
4790 ExtAddrMode BackupAddrMode = AddrMode; in matchAddr()
4804 isProfitableToFoldIntoAddressingMode(I, BackupAddrMode, AddrMode)) { in matchAddr()
4810 AddrMode = BackupAddrMode; in matchAddr()
4824 if (!AddrMode.HasBaseReg) { in matchAddr()
4825 AddrMode.HasBaseReg = true; in matchAddr()
4826 AddrMode.BaseReg = Addr; in matchAddr()
4828 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4830 AddrMode.HasBaseReg = false; in matchAddr()
4831 AddrMode.BaseReg = nullptr; in matchAddr()
4835 if (AddrMode.Scale == 0) { in matchAddr()
4836 AddrMode.Scale = 1; in matchAddr()
4837 AddrMode.ScaledReg = Addr; in matchAddr()
4838 if (TLI.isLegalAddressingMode(DL, AddrMode, AccessTy, AddrSpace)) in matchAddr()
4840 AddrMode.Scale = 0; in matchAddr()
4841 AddrMode.ScaledReg = nullptr; in matchAddr()
5202 ExtAddrMode AddrMode = AddrModes.getAddrMode(); in optimizeMemoryInst() local
5211 LLVM_DEBUG(dbgs() << "CGP: Found local addrmode: " << AddrMode in optimizeMemoryInst()
5232 LLVM_DEBUG(dbgs() << "CGP: Reusing nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5253 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5258 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5259 ResultPtr = AddrMode.BaseReg; in optimizeMemoryInst()
5260 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5263 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { in optimizeMemoryInst()
5266 if (ResultPtr || AddrMode.Scale != 1) in optimizeMemoryInst()
5269 ResultPtr = AddrMode.ScaledReg; in optimizeMemoryInst()
5270 AddrMode.Scale = 0; in optimizeMemoryInst()
5280 if (AddrMode.Scale) { in optimizeMemoryInst()
5281 Type *ScaledRegTy = AddrMode.ScaledReg->getType(); in optimizeMemoryInst()
5287 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5291 ResultPtr = AddrMode.BaseGV; in optimizeMemoryInst()
5298 if (!ResultPtr && AddrMode.BaseReg) { in optimizeMemoryInst()
5299 ResultPtr = Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), in optimizeMemoryInst()
5301 AddrMode.BaseReg = nullptr; in optimizeMemoryInst()
5302 } else if (!ResultPtr && AddrMode.Scale == 1) { in optimizeMemoryInst()
5303 ResultPtr = Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), in optimizeMemoryInst()
5305 AddrMode.Scale = 0; in optimizeMemoryInst()
5310 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { in optimizeMemoryInst()
5324 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5325 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5333 if (AddrMode.Scale) { in optimizeMemoryInst()
5334 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5344 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5345 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5354 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5355 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
5362 "sunkaddr", AddrMode.InBounds); in optimizeMemoryInst()
5374 AddrMode.InBounds); in optimizeMemoryInst()
5396 Type *BaseTy = AddrMode.BaseReg ? AddrMode.BaseReg->getType() : nullptr; in optimizeMemoryInst()
5397 Type *ScaleTy = AddrMode.Scale ? AddrMode.ScaledReg->getType() : nullptr; in optimizeMemoryInst()
5403 (AddrMode.BaseGV && in optimizeMemoryInst()
5404 DL->isNonIntegralPointerType(AddrMode.BaseGV->getType()))) in optimizeMemoryInst()
5407 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode in optimizeMemoryInst()
5417 if (AddrMode.BaseReg) { in optimizeMemoryInst()
5418 Value *V = AddrMode.BaseReg; in optimizeMemoryInst()
5427 if (AddrMode.Scale) { in optimizeMemoryInst()
5428 Value *V = AddrMode.ScaledReg; in optimizeMemoryInst()
5443 if (I && (Result != AddrMode.BaseReg)) in optimizeMemoryInst()
5447 if (AddrMode.Scale != 1) in optimizeMemoryInst()
5448 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in optimizeMemoryInst()
5457 if (AddrMode.BaseGV) { in optimizeMemoryInst()
5458 Value *V = Builder.CreatePtrToInt(AddrMode.BaseGV, IntPtrTy, "sunkaddr"); in optimizeMemoryInst()
5466 if (AddrMode.BaseOffs) { in optimizeMemoryInst()
5467 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in optimizeMemoryInst()
5933 TargetLowering::AddrMode AddrMode; in splitLargeGEPOffsets() local
5934 AddrMode.BaseOffs = Offset - BaseOffset; in splitLargeGEPOffsets()
5937 if (!TLI->isLegalAddressingMode(*DL, AddrMode, in splitLargeGEPOffsets()