Lines Matching refs:BaseNode

5611 TBAAVerifier::verifyTBAABaseNode(Instruction &I, const MDNode *BaseNode,  in verifyTBAABaseNode()  argument
5613 if (BaseNode->getNumOperands() < 2) { in verifyTBAABaseNode()
5614 CheckFailed("Base nodes must have at least two operands", &I, BaseNode); in verifyTBAABaseNode()
5618 auto Itr = TBAABaseNodes.find(BaseNode); in verifyTBAABaseNode()
5622 auto Result = verifyTBAABaseNodeImpl(I, BaseNode, IsNewFormat); in verifyTBAABaseNode()
5623 auto InsertResult = TBAABaseNodes.insert({BaseNode, Result}); in verifyTBAABaseNode()
5630 TBAAVerifier::verifyTBAABaseNodeImpl(Instruction &I, const MDNode *BaseNode, in verifyTBAABaseNodeImpl() argument
5634 if (BaseNode->getNumOperands() == 2) { in verifyTBAABaseNodeImpl()
5636 return isValidScalarTBAANode(BaseNode) in verifyTBAABaseNodeImpl()
5642 if (BaseNode->getNumOperands() % 3 != 0) { in verifyTBAABaseNodeImpl()
5644 "multiple of 3!", BaseNode); in verifyTBAABaseNodeImpl()
5648 if (BaseNode->getNumOperands() % 2 != 1) { in verifyTBAABaseNodeImpl()
5650 BaseNode); in verifyTBAABaseNodeImpl()
5658 BaseNode->getOperand(1)); in verifyTBAABaseNodeImpl()
5660 CheckFailed("Type size nodes must be constants!", &I, BaseNode); in verifyTBAABaseNodeImpl()
5666 if (!IsNewFormat && !isa<MDString>(BaseNode->getOperand(0))) { in verifyTBAABaseNodeImpl()
5668 BaseNode); in verifyTBAABaseNodeImpl()
5681 for (unsigned Idx = FirstFieldOpNo; Idx < BaseNode->getNumOperands(); in verifyTBAABaseNodeImpl()
5683 const MDOperand &FieldTy = BaseNode->getOperand(Idx); in verifyTBAABaseNodeImpl()
5684 const MDOperand &FieldOffset = BaseNode->getOperand(Idx + 1); in verifyTBAABaseNodeImpl()
5686 CheckFailed("Incorrect field entry in struct type node!", &I, BaseNode); in verifyTBAABaseNodeImpl()
5694 CheckFailed("Offset entries must be constants!", &I, BaseNode); in verifyTBAABaseNodeImpl()
5705 BaseNode); in verifyTBAABaseNodeImpl()
5719 CheckFailed("Offsets must be increasing!", &I, BaseNode); in verifyTBAABaseNodeImpl()
5727 BaseNode->getOperand(Idx + 2)); in verifyTBAABaseNodeImpl()
5729 CheckFailed("Member size entries must be constants!", &I, BaseNode); in verifyTBAABaseNodeImpl()
5782 const MDNode *BaseNode, in getFieldNodeFromTBAABaseNode() argument
5785 assert(BaseNode->getNumOperands() >= 2 && "Invalid base node!"); in getFieldNodeFromTBAABaseNode()
5790 if (BaseNode->getNumOperands() == 2) in getFieldNodeFromTBAABaseNode()
5791 return cast<MDNode>(BaseNode->getOperand(1)); in getFieldNodeFromTBAABaseNode()
5795 for (unsigned Idx = FirstFieldOpNo; Idx < BaseNode->getNumOperands(); in getFieldNodeFromTBAABaseNode()
5798 mdconst::extract<ConstantInt>(BaseNode->getOperand(Idx + 1)); in getFieldNodeFromTBAABaseNode()
5802 BaseNode, &Offset); in getFieldNodeFromTBAABaseNode()
5808 mdconst::extract<ConstantInt>(BaseNode->getOperand(PrevIdx + 1)); in getFieldNodeFromTBAABaseNode()
5810 return cast<MDNode>(BaseNode->getOperand(PrevIdx)); in getFieldNodeFromTBAABaseNode()
5814 unsigned LastIdx = BaseNode->getNumOperands() - NumOpsPerField; in getFieldNodeFromTBAABaseNode()
5816 BaseNode->getOperand(LastIdx + 1)); in getFieldNodeFromTBAABaseNode()
5818 return cast<MDNode>(BaseNode->getOperand(LastIdx)); in getFieldNodeFromTBAABaseNode()
5847 MDNode *BaseNode = dyn_cast_or_null<MDNode>(MD->getOperand(0)); in visitTBAAMetadata() local
5881 AssertTBAA(BaseNode && AccessType, in visitTBAAMetadata()
5884 &I, MD, BaseNode, AccessType); in visitTBAAMetadata()
5900 for (/* empty */; BaseNode && !IsRootTBAANode(BaseNode); in visitTBAAMetadata()
5901 BaseNode = getFieldNodeFromTBAABaseNode(I, BaseNode, Offset, in visitTBAAMetadata()
5903 if (!StructPath.insert(BaseNode).second) { in visitTBAAMetadata()
5910 std::tie(Invalid, BaseNodeBitWidth) = verifyTBAABaseNode(I, BaseNode, in visitTBAAMetadata()
5918 SeenAccessTypeInPath |= BaseNode == AccessType; in visitTBAAMetadata()
5920 if (isValidScalarTBAANode(BaseNode) || BaseNode == AccessType) in visitTBAAMetadata()