diff options
| author | Lei Zhang <antiagainst@google.com> | 2019-08-27 10:50:58 -0700 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-08-27 10:51:26 -0700 |
| commit | 3af6b533812ce43b2b53f3c8ef905f73881ea7f8 (patch) | |
| tree | 76bb19d1e9767290f6abeec897580f36d18cd352 /mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp | |
| parent | 4ced99c085e62f681276a06e0ce842b190900d32 (diff) | |
| download | bcm5719-llvm-3af6b533812ce43b2b53f3c8ef905f73881ea7f8.tar.gz bcm5719-llvm-3af6b533812ce43b2b53f3c8ef905f73881ea7f8.zip | |
[spirv] Fix the entry block to start with OpLabel
Each basic block in SPIR-V must start with an OpLabel instruction.
We don't support control flow yet, so this CL just makes sure that
the entry block follows this rule and is valid.
PiperOrigin-RevId: 265718841
Diffstat (limited to 'mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp')
| -rw-r--r-- | mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp b/mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp index 03973db0d95..43a1d08cf6c 100644 --- a/mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp +++ b/mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp @@ -543,6 +543,8 @@ LogicalResult Serializer::processFuncOp(FuncOp op) { } for (auto &b : op) { + // TODO(antiagainst): support basic blocks and control flow properly. + encodeInstructionInto(functions, spirv::Opcode::OpLabel, {getNextID()}); for (auto &op : b) { if (failed(processOperation(&op))) { return failure(); |

