// Copyright (c) 2023, ARM Limited. // // Licensed under the Apache License, Version 2.0 with LLVM Exceptions // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // https://llvm.org/LICENSE.txt // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef INCLUDE_DESERIALIZATION_PASSES_H #define INCLUDE_DESERIALIZATION_PASSES_H #include #include "mlir/Dialect/Func/IR/FuncOps.h" // from @llvm-project #include "mlir/IR/BuiltinOps.h" // from @llvm-project #include "mlir/IR/OwningOpRef.h" // from @llvm-project #include "mlir/Pass/Pass.h" // from @llvm-project namespace mlir { namespace tosa { std::unique_ptr createTosaDeserializePass(); std::unique_ptr createTosaDeserializeJSONPass(); // deserializes a tosa file and return an mlir module // if file_is_fbs is true, then treat file_name as a tosa flatbuffer file // otherwise, treat file_name as a tosa json file mlir::OwningOpRef BuildMlirFromTosaFile(const char *file_name, mlir::MLIRContext *context, bool file_is_fbs = true); #define GEN_PASS_REGISTRATION #define GEN_PASS_CLASSES #include "include/DeserializationPasses.h.inc" } // namespace tosa } // namespace mlir #endif // INCLUDE_DESERIALIZATION_PASSES_H