Lines Matching refs:AddrInst
3444 bool matchOperationAddr(User *AddrInst, unsigned Opcode, unsigned Depth,
4716 bool AddressingModeMatcher::matchOperationAddr(User *AddrInst, unsigned Opcode, in matchOperationAddr() argument
4730 return matchAddr(AddrInst->getOperand(0), Depth); in matchOperationAddr()
4732 auto AS = AddrInst->getType()->getPointerAddressSpace(); in matchOperationAddr()
4735 if (TLI.getValueType(DL, AddrInst->getOperand(0)->getType()) == PtrTy) in matchOperationAddr()
4736 return matchAddr(AddrInst->getOperand(0), Depth); in matchOperationAddr()
4742 if (AddrInst->getOperand(0)->getType()->isIntOrPtrTy() && in matchOperationAddr()
4746 AddrInst->getOperand(0)->getType() != AddrInst->getType()) in matchOperationAddr()
4747 return matchAddr(AddrInst->getOperand(0), Depth); in matchOperationAddr()
4751 AddrInst->getOperand(0)->getType()->getPointerAddressSpace(); in matchOperationAddr()
4752 unsigned DestAS = AddrInst->getType()->getPointerAddressSpace(); in matchOperationAddr()
4754 return matchAddr(AddrInst->getOperand(0), Depth); in matchOperationAddr()
4772 if (isa<ConstantInt>(AddrInst->getOperand(First)) in matchOperationAddr()
4773 && !isa<ConstantInt>(AddrInst->getOperand(Second))) in matchOperationAddr()
4776 if (matchAddr(AddrInst->getOperand(First), Depth + 1) && in matchOperationAddr()
4777 matchAddr(AddrInst->getOperand(Second), Depth + 1)) in matchOperationAddr()
4787 if (matchAddr(AddrInst->getOperand(Second), Depth + 1) && in matchOperationAddr()
4788 matchAddr(AddrInst->getOperand(First), Depth + 1)) in matchOperationAddr()
4804 ConstantInt *RHS = dyn_cast<ConstantInt>(AddrInst->getOperand(1)); in matchOperationAddr()
4811 return matchScaledValue(AddrInst->getOperand(0), Scale, Depth); in matchOperationAddr()
4820 gep_type_iterator GTI = gep_type_begin(AddrInst); in matchOperationAddr()
4821 for (unsigned i = 1, e = AddrInst->getNumOperands(); i != e; ++i, ++GTI) { in matchOperationAddr()
4825 cast<ConstantInt>(AddrInst->getOperand(i))->getZExtValue(); in matchOperationAddr()
4835 dyn_cast<ConstantInt>(AddrInst->getOperand(i))) { in matchOperationAddr()
4857 if (matchAddr(AddrInst->getOperand(0), Depth + 1)) { in matchOperationAddr()
4858 if (!cast<GEPOperator>(AddrInst)->isInBounds()) in matchOperationAddr()
4864 if (EnableGEPOffsetSplit && isa<GetElementPtrInst>(AddrInst) && in matchOperationAddr()
4871 Value *Base = AddrInst->getOperand(0); in matchOperationAddr()
4873 auto *GEP = cast<GetElementPtrInst>(AddrInst); in matchOperationAddr()
4895 if (!cast<GEPOperator>(AddrInst)->isInBounds()) in matchOperationAddr()
4899 if (!matchAddr(AddrInst->getOperand(0), Depth + 1)) { in matchOperationAddr()
4907 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4911 if (!matchScaledValue(AddrInst->getOperand(VariableOperand), VariableScale, in matchOperationAddr()
4920 AddrMode.BaseReg = AddrInst->getOperand(0); in matchOperationAddr()
4922 if (!matchScaledValue(AddrInst->getOperand(VariableOperand), in matchOperationAddr()
4935 Instruction *Ext = dyn_cast<Instruction>(AddrInst); in matchOperationAddr()