Lines Matching refs:ByteCodeField
79 enum OpCode : ByteCodeField {
166 static constexpr ByteCodeField kInferTypesMarker =
167 std::numeric_limits<ByteCodeField>::max();
188 SmallVectorImpl<ByteCodeField> &matcherByteCode, in Generator()
189 SmallVectorImpl<ByteCodeField> &rewriterByteCode, in Generator()
191 ByteCodeField &maxValueMemoryIndex, in Generator()
192 ByteCodeField &maxOpRangeMemoryIndex, in Generator()
193 ByteCodeField &maxTypeRangeMemoryIndex, in Generator()
194 ByteCodeField &maxValueRangeMemoryIndex, in Generator()
195 ByteCodeField &maxLoopLevel, in Generator()
215 ByteCodeField &getMemIndex(Value value) { in getMemIndex()
222 ByteCodeField &getRangeStorageIndex(Value value) { in getRangeStorageIndex()
231 std::enable_if_t<!std::is_convertible<T, Value>::value, ByteCodeField &>
291 DenseMap<Value, ByteCodeField> valueToMemIndex;
294 DenseMap<Value, ByteCodeField> valueToRangeIndex;
298 llvm::StringMap<ByteCodeField> externalRewriterToMemIndex;
302 llvm::StringMap<ByteCodeField> constraintToMemIndex;
310 DenseMap<const void *, ByteCodeField> uniquedDataToMemIndex;
313 ByteCodeField curLoopLevel = 0;
323 SmallVectorImpl<ByteCodeField> &matcherByteCode;
324 SmallVectorImpl<ByteCodeField> &rewriterByteCode;
326 ByteCodeField &maxValueMemoryIndex;
327 ByteCodeField &maxOpRangeMemoryIndex;
328 ByteCodeField &maxTypeRangeMemoryIndex;
329 ByteCodeField &maxValueRangeMemoryIndex;
330 ByteCodeField &maxLoopLevel;
335 ByteCodeWriter(SmallVectorImpl<ByteCodeField> &bytecode, Generator &generator) in ByteCodeWriter()
339 void append(ByteCodeField field) { bytecode.push_back(field); } in append()
344 static_assert((sizeof(ByteCodeAddr) / sizeof(ByteCodeField)) == 2, in append()
347 ByteCodeField fieldParts[2]; in append()
399 bytecode.push_back(static_cast<ByteCodeField>(kind)); in appendPDLValueKind()
431 constexpr size_t numParts = sizeof(const void *) / sizeof(ByteCodeField); in appendInline()
433 ByteCodeField fieldParts[numParts]; in appendInline()
442 SmallVectorImpl<ByteCodeField> &bytecode;
526 ByteCodeField index = 0, typeRangeIndex = 0, valueRangeIndex = 0; in allocateMemoryIndices()
640 ByteCodeField numIndices = 1; in allocateMemoryIndices()
643 ByteCodeField numOpRanges = 0, numTypeRanges = 0, numValueRanges = 0; in allocateMemoryIndices()
646 ByteCodeField &memIndex = valueToMemIndex[defIt.first]; in allocateMemoryIndices()
701 assert(allocatedIndices.size() <= std::numeric_limits<ByteCodeField>::max() && in allocateMemoryIndices()
774 writer.append(ByteCodeField(results.size())); in generate()
810 static_cast<ByteCodeField>(op.getCompareAtLeast()), in generate()
821 static_cast<ByteCodeField>(op.getCompareAtLeast()), in generate()
834 writer.append(OpCode::Continue, ByteCodeField(curLoopLevel - 1)); in generate()
849 writer.append(static_cast<ByteCodeField>(attributes.size())); in generate()
927 writer.append(std::numeric_limits<ByteCodeField>::max()); in generate()
947 writer.append(std::numeric_limits<ByteCodeField>::max()); in generate()
952 ByteCodeField rangeIndex = getRangeStorageIndex(operations); in generate()
970 ByteCodeField patternIndex = patterns.size(); in generate()
1054 const ByteCodeField *curCodeIt, MutableArrayRef<const void *> memory, in ByteCodeExecutor()
1061 ArrayRef<ByteCodeField> code, in ByteCodeExecutor()
1125 void pushCodeIt(const ByteCodeField *it) { resumeCodeIt.push_back(it); } in pushCodeIt()
1135 const ByteCodeField *getPrevCodeIt() const { in getPrevCodeIt()
1138 return curCodeIt - 1 - sizeof(const void *) / sizeof(ByteCodeField); in getPrevCodeIt()
1148 template <typename T = ByteCodeField>
1153 ByteCodeField read(size_t skipN = 0) { return read<ByteCodeField>(skipN); } in read()
1182 curCodeIt += sizeof(const void *) / sizeof(ByteCodeField); in readInline()
1268 static_assert((sizeof(ByteCodeAddr) / sizeof(ByteCodeField)) == 2, in readImpl()
1276 std::enable_if_t<std::is_same<T, ByteCodeField>::value, T> readImpl() { in readImpl()
1281 return static_cast<PDLValue::Kind>(readImpl<ByteCodeField>()); in readImpl()
1285 const ByteCodeField *curCodeIt;
1288 SmallVector<const ByteCodeField *> resumeCodeIt;
1303 ArrayRef<ByteCodeField> code;
1360 ByteCodeField numResults = read(); in executeApplyRewrite()
1492 ByteCodeField level = read(); in executeContinue()
1605 const ByteCodeField *prevCodeIt = getPrevCodeIt(); in executeForEach()
1701 ByteCodeField rangeIndex, StringRef attrSizedSegments, in executeGetOperandsResults()
1741 if (rangeIndex != std::numeric_limits<ByteCodeField>::max()) { in executeGetOperandsResults()
1754 ByteCodeField rangeIndex = read(); in executeGetOperands()
1780 ByteCodeField rangeIndex = read(); in executeGetResults()
1877 const ByteCodeField *dest = &code[read<ByteCodeAddr>()]; in executeRecordMatch()
1968 const ByteCodeField *prevCodeIt = curCodeIt; in executeSwitchOperationName()