Lines Matching refs:AddrMode
1545 struct ExtAddrMode : public TargetLowering::AddrMode {
2057 ExtAddrMode &AddrMode; member in __anon0965895a0211::AddressingModeMatcher
2079 AccessTy(AT), MemoryInst(MI), AddrMode(AM), in AddressingModeMatcher()
2137 if (AddrMode.Scale != 0 && AddrMode.ScaledReg != ScaleReg) in MatchScaledValue()
2140 ExtAddrMode TestAddrMode = AddrMode; in MatchScaledValue()
2152 AddrMode = TestAddrMode; in MatchScaledValue()
2167 AddrMode = TestAddrMode; in MatchScaledValue()
2643 ExtAddrMode BackupAddrMode = AddrMode; in MatchOperationAddr()
2657 AddrMode = BackupAddrMode; in MatchOperationAddr()
2667 AddrMode = BackupAddrMode; in MatchOperationAddr()
2721 AddrMode.BaseOffs += ConstantOffset; in MatchOperationAddr()
2722 if (ConstantOffset == 0 || TLI.isLegalAddressingMode(AddrMode, AccessTy)){ in MatchOperationAddr()
2727 AddrMode.BaseOffs -= ConstantOffset; in MatchOperationAddr()
2732 ExtAddrMode BackupAddrMode = AddrMode; in MatchOperationAddr()
2736 AddrMode.BaseOffs += ConstantOffset; in MatchOperationAddr()
2741 if (AddrMode.HasBaseReg) { in MatchOperationAddr()
2742 AddrMode = BackupAddrMode; in MatchOperationAddr()
2746 AddrMode.HasBaseReg = true; in MatchOperationAddr()
2747 AddrMode.BaseReg = AddrInst->getOperand(0); in MatchOperationAddr()
2755 AddrMode = BackupAddrMode; in MatchOperationAddr()
2757 if (AddrMode.HasBaseReg) in MatchOperationAddr()
2759 AddrMode.HasBaseReg = true; in MatchOperationAddr()
2760 AddrMode.BaseReg = AddrInst->getOperand(0); in MatchOperationAddr()
2761 AddrMode.BaseOffs += ConstantOffset; in MatchOperationAddr()
2765 AddrMode = BackupAddrMode; in MatchOperationAddr()
2809 ExtAddrMode BackupAddrMode = AddrMode; in MatchOperationAddr()
2820 AddrMode = BackupAddrMode; in MatchOperationAddr()
2844 AddrMode.BaseOffs += CI->getSExtValue(); in MatchAddr()
2845 if (TLI.isLegalAddressingMode(AddrMode, AccessTy)) in MatchAddr()
2847 AddrMode.BaseOffs -= CI->getSExtValue(); in MatchAddr()
2850 if (!AddrMode.BaseGV) { in MatchAddr()
2851 AddrMode.BaseGV = GV; in MatchAddr()
2852 if (TLI.isLegalAddressingMode(AddrMode, AccessTy)) in MatchAddr()
2854 AddrMode.BaseGV = nullptr; in MatchAddr()
2857 ExtAddrMode BackupAddrMode = AddrMode; in MatchAddr()
2871 IsProfitableToFoldIntoAddressingMode(I, BackupAddrMode, AddrMode)) { in MatchAddr()
2878 AddrMode = BackupAddrMode; in MatchAddr()
2892 if (!AddrMode.HasBaseReg) { in MatchAddr()
2893 AddrMode.HasBaseReg = true; in MatchAddr()
2894 AddrMode.BaseReg = Addr; in MatchAddr()
2896 if (TLI.isLegalAddressingMode(AddrMode, AccessTy)) in MatchAddr()
2898 AddrMode.HasBaseReg = false; in MatchAddr()
2899 AddrMode.BaseReg = nullptr; in MatchAddr()
2903 if (AddrMode.Scale == 0) { in MatchAddr()
2904 AddrMode.Scale = 1; in MatchAddr()
2905 AddrMode.ScaledReg = Addr; in MatchAddr()
2906 if (TLI.isLegalAddressingMode(AddrMode, AccessTy)) in MatchAddr()
2908 AddrMode.Scale = 0; in MatchAddr()
2909 AddrMode.ScaledReg = nullptr; in MatchAddr()
3156 ExtAddrMode AddrMode; in OptimizeMemoryInst() local
3189 AddrMode = NewAddrMode; in OptimizeMemoryInst()
3192 } else if (NewAddrMode == AddrMode) { in OptimizeMemoryInst()
3236 DEBUG(dbgs() << "CGP: Found local addrmode: " << AddrMode << "\n"); in OptimizeMemoryInst()
3251 DEBUG(dbgs() << "CGP: Reusing nonlocal addrmode: " << AddrMode << " for " in OptimizeMemoryInst()
3261 DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode << " for " in OptimizeMemoryInst()
3267 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { in OptimizeMemoryInst()
3268 ResultPtr = AddrMode.BaseReg; in OptimizeMemoryInst()
3269 AddrMode.BaseReg = nullptr; in OptimizeMemoryInst()
3272 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { in OptimizeMemoryInst()
3275 if (ResultPtr || AddrMode.Scale != 1) in OptimizeMemoryInst()
3278 ResultPtr = AddrMode.ScaledReg; in OptimizeMemoryInst()
3279 AddrMode.Scale = 0; in OptimizeMemoryInst()
3282 if (AddrMode.BaseGV) { in OptimizeMemoryInst()
3286 ResultPtr = AddrMode.BaseGV; in OptimizeMemoryInst()
3292 if (!ResultPtr && AddrMode.BaseReg) { in OptimizeMemoryInst()
3294 Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), "sunkaddr"); in OptimizeMemoryInst()
3295 AddrMode.BaseReg = nullptr; in OptimizeMemoryInst()
3296 } else if (!ResultPtr && AddrMode.Scale == 1) { in OptimizeMemoryInst()
3298 Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), "sunkaddr"); in OptimizeMemoryInst()
3299 AddrMode.Scale = 0; in OptimizeMemoryInst()
3303 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { in OptimizeMemoryInst()
3317 if (AddrMode.BaseReg) { in OptimizeMemoryInst()
3318 Value *V = AddrMode.BaseReg; in OptimizeMemoryInst()
3326 if (AddrMode.Scale) { in OptimizeMemoryInst()
3327 Value *V = AddrMode.ScaledReg; in OptimizeMemoryInst()
3340 if (I && (ResultIndex != AddrMode.BaseReg)) in OptimizeMemoryInst()
3345 if (AddrMode.Scale != 1) in OptimizeMemoryInst()
3346 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in OptimizeMemoryInst()
3355 if (AddrMode.BaseOffs) { in OptimizeMemoryInst()
3356 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in OptimizeMemoryInst()
3380 DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode << " for " in OptimizeMemoryInst()
3390 if (AddrMode.BaseReg) { in OptimizeMemoryInst()
3391 Value *V = AddrMode.BaseReg; in OptimizeMemoryInst()
3400 if (AddrMode.Scale) { in OptimizeMemoryInst()
3401 Value *V = AddrMode.ScaledReg; in OptimizeMemoryInst()
3416 if (I && (Result != AddrMode.BaseReg)) in OptimizeMemoryInst()
3420 if (AddrMode.Scale != 1) in OptimizeMemoryInst()
3421 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), in OptimizeMemoryInst()
3430 if (AddrMode.BaseGV) { in OptimizeMemoryInst()
3431 Value *V = Builder.CreatePtrToInt(AddrMode.BaseGV, IntPtrTy, "sunkaddr"); in OptimizeMemoryInst()
3439 if (AddrMode.BaseOffs) { in OptimizeMemoryInst()
3440 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); in OptimizeMemoryInst()