aboutsummaryrefslogtreecommitdiff
path: root/compute_kernel_writer/src/KernelWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compute_kernel_writer/src/KernelWriter.cpp')
-rw-r--r--compute_kernel_writer/src/KernelWriter.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/compute_kernel_writer/src/KernelWriter.cpp b/compute_kernel_writer/src/KernelWriter.cpp
index eb8399a7ef..ab5ede8c77 100644
--- a/compute_kernel_writer/src/KernelWriter.cpp
+++ b/compute_kernel_writer/src/KernelWriter.cpp
@@ -22,15 +22,22 @@
* SOFTWARE.
*/
-#include "ckw/KernelWriter.h"
#include "ckw/Error.h"
+#include "ckw/ITileOperand.h"
+#include "ckw/KernelWriter.h"
+#include "ckw/types/TargetArchitecture.h"
+#include "ckw/types/TargetLanguage.h"
#include "src/cl/CLKernelWriter.h"
+#include <iterator>
namespace ckw
{
+KernelWriter::~KernelWriter() = default;
+
std::unique_ptr<KernelWriter> KernelWriter::create_instance(TargetArchitecture architecture, TargetLanguage language)
{
+ CKW_UNUSED(architecture);
switch(language)
{
case TargetLanguage::OpenCL:
@@ -43,6 +50,20 @@ std::unique_ptr<KernelWriter> KernelWriter::create_instance(TargetArchitecture a
}
}
-KernelWriter::~KernelWriter() = default;
+int32_t KernelWriter::id_space() const
+{
+ return _id_space;
+}
+
+ITileOperand &KernelWriter::add_operand(std::unique_ptr<ITileOperand> &operand_ptr)
+{
+ auto it = _operands.insert(std::move(operand_ptr));
+ return *it.first->get();
+}
+
+std::string KernelWriter::generate_full_name(const std::string &name) const
+{
+ return "G" + std::to_string(id_space()) + "__" + name;
+}
} // namespace ckw