diff options
author | a-romanov <Anton.Romanov@ydb.tech> | 2023-10-31 20:40:50 +0300 |
---|---|---|
committer | a-romanov <Anton.Romanov@ydb.tech> | 2023-10-31 20:58:30 +0300 |
commit | e58fc64669db6ff8edee0b399d7501d4c83d14cb (patch) | |
tree | 12d87fba7a2135d1b16974a4a983f935d6348266 | |
parent | 3adcbab0b4fbceed6da953627363fb6b5c6f287e (diff) | |
download | ydb-e58fc64669db6ff8edee0b399d7501d4c83d14cb.tar.gz |
YQL-17048 Try to simplify generated llvm.
-rw-r--r-- | ydb/library/yql/minikql/comp_nodes/mkql_block_top.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ydb/library/yql/minikql/comp_nodes/mkql_block_top.cpp b/ydb/library/yql/minikql/comp_nodes/mkql_block_top.cpp index 56928ea6ac3..50e787272ed 100644 --- a/ydb/library/yql/minikql/comp_nodes/mkql_block_top.cpp +++ b/ydb/library/yql/minikql/comp_nodes/mkql_block_top.cpp @@ -175,10 +175,6 @@ public: block = read; - const auto valuesPtr = GetElementPtrInst::CreateInBounds(stateType, stateArg, { stateFields.This(), stateFields.GetPointer() }, "values_ptr", block); - const auto values = new LoadInst(ptrValuesType, valuesPtr, "values", block); - SafeUnRefUnboxed(values, ctx, block); - const auto getres = GetNodeValues(Flow_, ctx, block); result->addIncoming(ConstantInt::get(statusType, static_cast<i32>(EFetchResult::Yield)), block); @@ -189,6 +185,8 @@ public: block = good; + const auto valuesPtr = GetElementPtrInst::CreateInBounds(stateType, stateArg, { stateFields.This(), stateFields.GetPointer() }, "values_ptr", block); + const auto values = new LoadInst(ptrValuesType, valuesPtr, "values", block); Value* array = UndefValue::get(arrayType); for (auto idx = 0U; idx < getres.second.size(); ++idx) { const auto value = getres.second[idx](ctx, block); @@ -352,6 +350,7 @@ private: } OutputLength_ += blockLen; + Values.assign(Values.size(), NUdf::TUnboxedValuePod()); return; } @@ -381,6 +380,8 @@ private: if (BuilderLength_ + Count_ > BuilderMaxLength_) { CompressBuilders(false); } + + Values.assign(Values.size(), NUdf::TUnboxedValuePod()); } ui64 GetStorageLength() const { |