LLVM: llvm::HashRecognize Class Reference (original) (raw)
The analysis. More...
#include "[llvm/Analysis/HashRecognize.h](HashRecognize%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| HashRecognize (const Loop &L, ScalarEvolution &SE) | |
| std::variant< PolynomialInfo, StringRef > | recognizeCRC () const |
| The main entry point for analyzing a loop and recognizing the CRC algorithm. | |
| std::optional< PolynomialInfo > | getResult () const |
| void | print (raw_ostream &OS) const |
| LLVM_DUMP_METHOD void | dump () const |
| Static Public Member Functions | |
|---|---|
| static CRCTable | genSarwateTable (const APInt &GenPoly, bool ByteOrderSwapped) |
| Generate a lookup table of 256 entries by interleaving the generating polynomial. |
The analysis.
Definition at line 74 of file HashRecognize.h.
◆ dump()
| void HashRecognize::dump | ( | ) | const |
|---|
◆ genSarwateTable()
◆ getResult()
◆ print()
◆ recognizeCRC()
The main entry point for analyzing a loop and recognizing the CRC algorithm.
Returns a PolynomialInfo on success, and a StringRef on failure.
Definition at line 440 of file HashRecognize.cpp.
References assert(), llvm::cast(), containsUnreachable(), llvm::PHINode::getIncomingValueForBlock(), llvm::Type::getIntegerBitWidth(), getRecurrences(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), isBigEndianBitShift(), isConditionalOnXorOfPHIs(), isSignificantBitCheckWellFormed(), llvm::none_of(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by print().
The documentation for this class was generated from the following files:
- include/llvm/Analysis/HashRecognize.h
- lib/Analysis/HashRecognize.cpp