LLVM 20.0.0git
|
Represents known origin of an individual byte in combine pattern. More...
#include "llvm/CodeGen/ByteProvider.h"
Public Member Functions | |
ByteProvider ()=default | |
bool | isConstantZero () const |
bool | hasSrc () const |
bool | hasSameSrc (const ByteProvider &Other) const |
bool | operator== (const ByteProvider &Other) const |
Static Public Member Functions | |
static ByteProvider | getSrc (std::optional< ISelOp > Val, int64_t ByteOffset, int64_t VectorOffset) |
static ByteProvider | getConstantZero () |
Public Attributes | |
std::optional< ISelOp > | Src = std::nullopt |
int64_t | DestOffset = 0 |
int64_t | SrcOffset = 0 |
Represents known origin of an individual byte in combine pattern.
The value of the byte is either constant zero, or comes from memory / some other productive instruction (e.g. arithmetic instructions). Bit manipulation instructions like shifts are not ByteProviders, rather are used to extract Bytes.
Definition at line 30 of file ByteProvider.h.
|
default |
Referenced by llvm::ByteProvider< ISelOp >::getSrc().
|
inlinestatic |
Definition at line 73 of file ByteProvider.h.
Referenced by calculateByteProvider().
|
inlinestatic |
Definition at line 66 of file ByteProvider.h.
References llvm::ByteProvider< ISelOp >::ByteProvider().
Referenced by calculateByteProvider(), and calculateSrcByte().
|
inline |
Definition at line 80 of file ByteProvider.h.
References llvm::Other, and llvm::ByteProvider< ISelOp >::Src.
|
inline |
Definition at line 78 of file ByteProvider.h.
References llvm::ByteProvider< ISelOp >::Src.
|
inline |
Definition at line 76 of file ByteProvider.h.
References llvm::ByteProvider< ISelOp >::Src.
|
inline |
Definition at line 82 of file ByteProvider.h.
References llvm::ByteProvider< ISelOp >::DestOffset, llvm::Other, llvm::ByteProvider< ISelOp >::Src, and llvm::ByteProvider< ISelOp >::SrcOffset.
int64_t llvm::ByteProvider< ISelOp >::DestOffset = 0 |
Definition at line 59 of file ByteProvider.h.
Referenced by llvm::ByteProvider< ISelOp >::operator==().
std::optional<ISelOp> llvm::ByteProvider< ISelOp >::Src = std::nullopt |
Definition at line 57 of file ByteProvider.h.
Referenced by llvm::ByteProvider< ISelOp >::hasSameSrc(), llvm::ByteProvider< ISelOp >::hasSrc(), llvm::ByteProvider< ISelOp >::isConstantZero(), llvm::ByteProvider< ISelOp >::operator==(), and placeSources().
int64_t llvm::ByteProvider< ISelOp >::SrcOffset = 0 |
Definition at line 62 of file ByteProvider.h.
Referenced by llvm::ByteProvider< ISelOp >::operator==(), and placeSources().