32#ifndef LLVM_SUPPORT_SUFFIXTREE_H
33#define LLVM_SUPPORT_SUFFIXTREE_H
105 unsigned StartIdx,
unsigned EndIdx,
115 void setSuffixIndices();
131 unsigned extend(
unsigned EndIdx,
unsigned SuffixesToAdd);
155 const unsigned MinLength = 2;
179 return !(*
this ==
Other);
This file defines the BumpPtrAllocator interface.
Returns the sub type a function will return at a given Idx Should correspond to the result type of an ExtractValue instruction executed with just that one unsigned Idx
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
A BumpPtrAllocator that allows only elements of a specific type to be allocated.
ArrayRef< unsigned > Str
Each element is an integer representing an instruction in the module.
RepeatedSubstringIterator iterator
This is an optimization pass for GlobalISel generic memory operations.
A node in a suffix tree which represents a substring or suffix.
static const unsigned EmptyIdx
Represents an undefined index in the suffix tree.
Iterator for finding all repeated substrings in the suffix tree.
RepeatedSubstringIterator(SuffixTreeInternalNode *N)
RepeatedSubstringIterator operator++(int I)
bool operator!=(const RepeatedSubstringIterator &Other) const
RepeatedSubstring & operator*()
Return the current repeated substring.
bool operator==(const RepeatedSubstringIterator &Other) const
RepeatedSubstringIterator & operator++()
A repeated substring in the tree.
SmallVector< unsigned > StartIndices
The start indices of each occurrence.
unsigned Length
The length of the string.