reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4753 LLVM_DEBUG(dbgs() << "CGP: Found local addrmode: " << AddrMode 4773 LLVM_DEBUG(dbgs() << "CGP: Reusing nonlocal addrmode: " << AddrMode 4781 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode 4787 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { 4787 if (AddrMode.BaseReg && AddrMode.BaseReg->getType()->isPointerTy()) { 4788 ResultPtr = AddrMode.BaseReg; 4789 AddrMode.BaseReg = nullptr; 4792 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { 4792 if (AddrMode.Scale && AddrMode.ScaledReg->getType()->isPointerTy()) { 4795 if (ResultPtr || AddrMode.Scale != 1) 4798 ResultPtr = AddrMode.ScaledReg; 4799 AddrMode.Scale = 0; 4809 if (AddrMode.Scale) { 4810 Type *ScaledRegTy = AddrMode.ScaledReg->getType(); 4816 if (AddrMode.BaseGV) { 4820 ResultPtr = AddrMode.BaseGV; 4827 if (!ResultPtr && AddrMode.BaseReg) { 4828 ResultPtr = Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), 4830 AddrMode.BaseReg = nullptr; 4831 } else if (!ResultPtr && AddrMode.Scale == 1) { 4832 ResultPtr = Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), 4834 AddrMode.Scale = 0; 4839 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { 4839 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { 4839 !AddrMode.BaseReg && !AddrMode.Scale && !AddrMode.BaseOffs) { 4853 if (AddrMode.BaseReg) { 4854 Value *V = AddrMode.BaseReg; 4862 if (AddrMode.Scale) { 4863 Value *V = AddrMode.ScaledReg; 4873 if (AddrMode.Scale != 1) 4874 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), 4883 if (AddrMode.BaseOffs) { 4884 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs); 4891 AddrMode.InBounds 4906 AddrMode.InBounds 4918 Type *BaseTy = AddrMode.BaseReg ? AddrMode.BaseReg->getType() : nullptr; 4918 Type *BaseTy = AddrMode.BaseReg ? AddrMode.BaseReg->getType() : nullptr; 4919 Type *ScaleTy = AddrMode.Scale ? AddrMode.ScaledReg->getType() : nullptr; 4919 Type *ScaleTy = AddrMode.Scale ? AddrMode.ScaledReg->getType() : nullptr; 4925 (AddrMode.BaseGV && 4926 DL->isNonIntegralPointerType(AddrMode.BaseGV->getType()))) 4929 LLVM_DEBUG(dbgs() << "CGP: SINKING nonlocal addrmode: " << AddrMode 4939 if (AddrMode.BaseReg) { 4940 Value *V = AddrMode.BaseReg; 4949 if (AddrMode.Scale) { 4950 Value *V = AddrMode.ScaledReg; 4965 if (I && (Result != AddrMode.BaseReg)) 4969 if (AddrMode.Scale != 1) 4970 V = Builder.CreateMul(V, ConstantInt::get(IntPtrTy, AddrMode.Scale), 4979 if (AddrMode.BaseGV) { 4980 Value *V = Builder.CreatePtrToInt(AddrMode.BaseGV, IntPtrTy, "sunkaddr"); 4988 if (AddrMode.BaseOffs) { 4989 Value *V = ConstantInt::get(IntPtrTy, AddrMode.BaseOffs);