Add CKW flow control writing methods
* Structures: if/else/else if, for, return.
* Add corresponding tests.
Partially resolves: COMPMID-6387
Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Change-Id: I2912ccaf46f836907f21bb53fa82bcc1f48dd224
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10199
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
diff --git a/compute_kernel_writer/validation/Validation.cpp b/compute_kernel_writer/validation/Validation.cpp
index 3d73900..6425d25 100644
--- a/compute_kernel_writer/validation/Validation.cpp
+++ b/compute_kernel_writer/validation/Validation.cpp
@@ -30,7 +30,10 @@
#include "validation/tests/CLKernelWriterDeclareConstantTileTest.h"
#include "validation/tests/CLKernelWriterDeclareTensorTest.h"
#include "validation/tests/CLKernelWriterDeclareTileTest.h"
+#include "validation/tests/CLKernelWriterForTest.h"
+#include "validation/tests/CLKernelWriterIfTest.h"
#include "validation/tests/CLKernelWriterOpLoadStoreTest.h"
+#include "validation/tests/CLKernelWriterReturnTest.h"
#include "validation/tests/CLKernelWriterTernaryOpTest.h"
#include "validation/tests/CLKernelWriterUnaryExpressionTest.h"
#include "validation/tests/CLTensorArgumentTest.h"
@@ -89,6 +92,9 @@
const auto test29 = std::make_unique<CLKernelWriterBinaryOpTest>();
const auto test30 = std::make_unique<CLKernelWriterTernaryOpTest>();
const auto test31 = std::make_unique<CLKernelWriterDeclareConstantTileTest>();
+ const auto test32 = std::make_unique<CLKernelWriterIfTest>();
+ const auto test33 = std::make_unique<CLKernelWriterForTest>();
+ const auto test34 = std::make_unique<CLKernelWriterReturnTest>();
tests.push_back(test3.get());
tests.push_back(test4.get());
@@ -121,6 +127,9 @@
tests.push_back(test29.get());
tests.push_back(test30.get());
tests.push_back(test31.get());
+ tests.push_back(test32.get());
+ tests.push_back(test33.get());
+ tests.push_back(test34.get());
#endif /* COMPUTE_KERNEL_WRITER_OPENCL_ENABLED */
bool all_test_passed = true;