Program Listing for File BufferInfo.h
↰ Return to documentation for file (include/laksa-mlir/Target/LaksaCommon/BufferInfo.h)
#pragma once
#include "laksa-mlir/Dialect/EmitHLS/IR/EmitHLS.h"
#include "llvm/ADT/SmallVector.h"
namespace mlir::emithls {
struct LaksaBufferInfo {
bool isReadByKernel = false;
bool isWrittenByKernel = false;
int64_t numElements = 0;
unsigned elementBits = 0;
int64_t getSizeInBytes() const
{ return numElements * ((elementBits + 7) / 8); }
};
FailureOr<FuncOp> findLaksaTopFunc(ModuleOp moduleOp);
LogicalResult collectLaksaBufferInfos(
FuncOp topFunc,
SmallVectorImpl<LaksaBufferInfo> &buffers);
std::string getLaksaMacroPrefix(StringRef designName);
} // namespace mlir::emithls