blob: 306d666bcb49d72f15555e147aea6cc106a97abc [file] [log] [blame]
// Copyright 2020 The IREE Authors
//
// Licensed under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef IREE_COMPILER_CONVERSION_LINALGTOLLVM_KERNELDISPATCH_H_
#define IREE_COMPILER_CONVERSION_LINALGTOLLVM_KERNELDISPATCH_H_
#include "iree/compiler/Dialect/HAL/IR/LoweringConfig.h"
#include "mlir/IR/BuiltinOps.h"
namespace mlir {
namespace iree_compiler {
enum class TilingLevel : unsigned {
// Tile linalg operations to workgroup threads.
WorkGroupTiles = 0,
// Tile linalg operation on workgroup thread into L1 block tiles.
Level1Tiles = 1,
// Tile linalg operations on L1 block tiles into vector tiles.
Level2Tiles = 2,
NumTileLevels = 3
};
LogicalResult initCPULaunchConfig(ModuleOp moduleOp);
} // namespace iree_compiler
} // namespace mlir
#endif // IREE_COMPILER_CONVERSION_LINALGTOLLVM_KERNELDISPATCH_H_