From 13c78a67a6a3d743352f0b6e349c52bf36e84468 Mon Sep 17 00:00:00 2001 From: Jerry Ge Date: Tue, 4 Oct 2022 20:32:39 -0700 Subject: [region] Add TosaSerializationRegion to serialization_lib - Rationale: add this fix to support constants access between multiple blocks by another layer of abstraction called Region - Changes: - flatbuffers schema update, regenerate header files - add TosaSerializationRegion for the handler - other relevant fixes Signed-off-by: Jerry Ge Change-Id: I4bb72503abfd629ae017d2f905184efbab244aa8 --- include/tosa_generated.h | 95 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 13 deletions(-) (limited to 'include/tosa_generated.h') diff --git a/include/tosa_generated.h b/include/tosa_generated.h index 123c4f6..4d231b0 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -80,6 +80,9 @@ struct TosaOperatorBuilder; struct TosaBasicBlock; struct TosaBasicBlockBuilder; +struct TosaRegion; +struct TosaRegionBuilder; + struct TosaGraph; struct TosaGraphBuilder; @@ -2502,25 +2505,91 @@ inline flatbuffers::Offset CreateTosaBasicBlockDirect( outputs__); } +struct TosaRegion FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TosaRegionBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_BLOCKS = 6 + }; + const flatbuffers::String *name() const { + return GetPointer(VT_NAME); + } + const flatbuffers::Vector> *blocks() const { + return GetPointer> *>(VT_BLOCKS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_BLOCKS) && + verifier.VerifyVector(blocks()) && + verifier.VerifyVectorOfTables(blocks()) && + verifier.EndTable(); + } +}; + +struct TosaRegionBuilder { + typedef TosaRegion Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(TosaRegion::VT_NAME, name); + } + void add_blocks(flatbuffers::Offset>> blocks) { + fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks); + } + explicit TosaRegionBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateTosaRegion( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset name = 0, + flatbuffers::Offset>> blocks = 0) { + TosaRegionBuilder builder_(_fbb); + builder_.add_blocks(blocks); + builder_.add_name(name); + return builder_.Finish(); +} + +inline flatbuffers::Offset CreateTosaRegionDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *name = nullptr, + const std::vector> *blocks = nullptr) { + auto name__ = name ? _fbb.CreateString(name) : 0; + auto blocks__ = blocks ? _fbb.CreateVector>(*blocks) : 0; + return tosa::CreateTosaRegion( + _fbb, + name__, + blocks__); +} + struct TosaGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TosaGraphBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VERSION = 4, - VT_BLOCKS = 6 + VT_REGIONS = 6 }; const tosa::Version *version() const { return GetPointer(VT_VERSION); } - const flatbuffers::Vector> *blocks() const { - return GetPointer> *>(VT_BLOCKS); + const flatbuffers::Vector> *regions() const { + return GetPointer> *>(VT_REGIONS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_VERSION) && verifier.VerifyTable(version()) && - VerifyOffset(verifier, VT_BLOCKS) && - verifier.VerifyVector(blocks()) && - verifier.VerifyVectorOfTables(blocks()) && + VerifyOffset(verifier, VT_REGIONS) && + verifier.VerifyVector(regions()) && + verifier.VerifyVectorOfTables(regions()) && verifier.EndTable(); } }; @@ -2532,8 +2601,8 @@ struct TosaGraphBuilder { void add_version(flatbuffers::Offset version) { fbb_.AddOffset(TosaGraph::VT_VERSION, version); } - void add_blocks(flatbuffers::Offset>> blocks) { - fbb_.AddOffset(TosaGraph::VT_BLOCKS, blocks); + void add_regions(flatbuffers::Offset>> regions) { + fbb_.AddOffset(TosaGraph::VT_REGIONS, regions); } explicit TosaGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { @@ -2549,9 +2618,9 @@ struct TosaGraphBuilder { inline flatbuffers::Offset CreateTosaGraph( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset version = 0, - flatbuffers::Offset>> blocks = 0) { + flatbuffers::Offset>> regions = 0) { TosaGraphBuilder builder_(_fbb); - builder_.add_blocks(blocks); + builder_.add_regions(regions); builder_.add_version(version); return builder_.Finish(); } @@ -2559,12 +2628,12 @@ inline flatbuffers::Offset CreateTosaGraph( inline flatbuffers::Offset CreateTosaGraphDirect( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset version = 0, - const std::vector> *blocks = nullptr) { - auto blocks__ = blocks ? _fbb.CreateVector>(*blocks) : 0; + const std::vector> *regions = nullptr) { + auto regions__ = regions ? _fbb.CreateVector>(*regions) : 0; return tosa::CreateTosaGraph( _fbb, version, - blocks__); + regions__); } inline bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, Attribute type) { -- cgit v1.2.1