aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/minikql/comp_nodes/mkql_flow.cpp
diff options
context:
space:
mode:
authorvvvv <vvvv@yandex-team.com>2025-01-14 11:57:29 +0300
committervvvv <vvvv@yandex-team.com>2025-01-14 12:19:19 +0300
commit5593aaf904fb630ebded70fb964bc73b39bc053a (patch)
tree8d52fa90c984c79168da59d5f12a0a13c1d8a61b /yql/essentials/minikql/comp_nodes/mkql_flow.cpp
parentc84f9bf19d66e2e3d96a52f6f2181676ebca8a52 (diff)
downloadydb-5593aaf904fb630ebded70fb964bc73b39bc053a.tar.gz
minikql - llvm16 compatibility (opaque pointers and some other stuff)
commit_hash:c166e0d029d87d2a10e5adfc3acf20a849670881
Diffstat (limited to 'yql/essentials/minikql/comp_nodes/mkql_flow.cpp')
-rw-r--r--yql/essentials/minikql/comp_nodes/mkql_flow.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/yql/essentials/minikql/comp_nodes/mkql_flow.cpp b/yql/essentials/minikql/comp_nodes/mkql_flow.cpp
index f195a8991f..761e5f5510 100644
--- a/yql/essentials/minikql/comp_nodes/mkql_flow.cpp
+++ b/yql/essentials/minikql/comp_nodes/mkql_flow.cpp
@@ -45,7 +45,7 @@ public:
const auto state = PHINode::Create(load->getType(), 2U, "state", main);
state->addIncoming(load, block);
- BranchInst::Create(init, main, IsInvalid(load, block), block);
+ BranchInst::Create(init, main, IsInvalid(load, block, context), block);
block = init;
@@ -142,7 +142,7 @@ public:
const auto result = PHINode::Create(valueType, 2U, "state", done);
result->addIncoming(load, block);
- BranchInst::Create(done, main, IsFinish(load, block), block);
+ BranchInst::Create(done, main, IsFinish(load, block, context), block);
block = main;
@@ -151,7 +151,7 @@ public:
const auto optional = GetNodeValue(Optional, ctx, block);
const auto value = IsItemOptional ? GetOptionalValue(context, optional, block) : optional;
- const auto output = SelectInst::Create(IsEmpty(optional, block), finish, value, "output", block);
+ const auto output = SelectInst::Create(IsEmpty(optional, block, context), finish, value, "output", block);
result->addIncoming(output, block);
BranchInst::Create(done, block);
@@ -256,7 +256,6 @@ private:
ctx.Func = cast<Function>(module.getOrInsertFunction(name.c_str(), funcType).getCallee());
DISubprogramAnnotator annotator(ctx, ctx.Func);
-
auto args = ctx.Func->arg_begin();
@@ -266,13 +265,13 @@ private:
const auto main = BasicBlock::Create(context, "main", ctx.Func);
auto block = main;
- SafeUnRefUnboxed(valuePtr, ctx, block);
+ SafeUnRefUnboxedOne(valuePtr, ctx, block);
GetNodeValue(valuePtr, Flow, ctx, block);
const auto value = new LoadInst(valueType, valuePtr, "value", block);
- const auto second = SelectInst::Create(IsYield(value, block), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Yield)), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Ok)), "second", block);
- const auto first = SelectInst::Create(IsFinish(value, block), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Finish)), second, "second", block);
+ const auto second = SelectInst::Create(IsYield(value, block, context), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Yield)), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Ok)), "second", block);
+ const auto first = SelectInst::Create(IsFinish(value, block, context), ConstantInt::get(statusType, static_cast<ui32>(NUdf::EFetchStatus::Finish)), second, "second", block);
ReturnInst::Create(context, first, block);
return ctx.Func;
@@ -330,7 +329,7 @@ public:
const auto state = PHINode::Create(load->getType(), 2U, "state", main);
state->addIncoming(load, block);
- BranchInst::Create(init, main, IsInvalid(load, block), block);
+ BranchInst::Create(init, main, IsInvalid(load, block, context), block);
block = init;
@@ -484,7 +483,6 @@ private:
ctx.Func = cast<Function>(module.getOrInsertFunction(name.c_str(), funcType).getCallee());
DISubprogramAnnotator annotator(ctx, ctx.Func);
-
auto args = ctx.Func->arg_begin();
@@ -507,7 +505,7 @@ private:
std::vector<Value*> pointers(Representations.size());
for (auto i = 0U; i < pointers.size(); ++i) {
pointers[i] = GetElementPtrInst::CreateInBounds(valueType, valuesPtr, {ConstantInt::get(indexType, i)}, (TString("ptr_") += ToString(i)).c_str(), block);
- SafeUnRefUnboxed(pointers[i], ctx, block);
+ SafeUnRefUnboxedOne(pointers[i], ctx, block);
}
const auto getres = GetNodeValues(WideFlow, ctx, block);